프레임워크 vs 라이브러리
Framework(프레임워크)
프레임워크는 뼈대나 기반구조를 뜻한다
즉, 개발할 때 필요한 뼈대/기반구조를 갖추기 위한 클래스와 인터페이스의 집합을 의미한다
사용자의 코드는 프레임워크에게 호출당한다고 표현하는데,
이는 사용자의 코드를 프레임워크 안에 넣어서 개발 진행해야 한다는 의미로 해석하면 된다.
프레임워크 예시 : Spring, Django, Angularjs ...
Library(라이브러리)
라이브러리는 단순 활용 가능한 도구들의 집합으로써, 프로그램 제작 시 필요한 기능들을 나타낸다.
사용자가 필요한 기능들이 구현되어있는 라이브러리를 사용자가 원할 때 호출해 사용할 수 있다.
라이브러리 예시 : JQuery
프레임워크와 라이브러리의 차이점
프레임워크와 라이브러리의 차이점은 제어 흐름에 대한 주도성이 누구에게, 어디에 있는가로 보면 된다.
프레임워크는 전체적인 흐름을 프레임워크가 쥐고 있어 사용자가 그 안에서 필요한 코드를 짜 넣는다
라이브러리는 사용자가 전체적인 흐름을 만들며 라이브러리를 가져다 쓴다
요약
- 프레임워크 : 프로그램 개발을 위한 클래스와 인터페이스의 집합
- 라이브러리 : 프로그램을 개발하기 위해 쓰는 도구들의 집합
- 공통점 : 프로그램을 쉽게 만들 수 있게 하는 공통된 목적이 있다
- 차이점 : 제어 흐름에 대한 주도성 / 프레임워크는 지켜야 되는 룰이 있으나, 라이브러리는 써도 되고 안 써도 된다
출처 및 참고