Framework와 Library의 관계

1. Framework

- 뼈대나 기반구조를 뜻한다. 애플리케이션 개발에 필수적인 코드, 알고리즘, 데이터베이스 연동 등과 같은 기능을 제공한다. 이러한 뼈대 위에 코드를 작성하여 애플리케이션을 완성하는 것이다.

- 어느 정도의 뼈대를 제공해주기 때문에, 일관성 있는 객체 지향 개발이 가능하게 된다.

- 소프트웨어의 특정 문제를 해결하기 위해서 상호 협력하는 클래스와 인터페이스의 집합이라 정의된다.

 

2. Library

- 특정 기능에 대한 도구 혹은 함수들을 모은 집합이다.

 

3. Framework와 Library의 차이점

- 흐름에 대한 제어 권한의 위치가 다르다.

- Framework는 전체적인 흐름을 자체적으로 가지고 있어 사용자가 그 안에서 필요한 코드를 작성한다. 즉, IoC(Inversion of Control)가 적용되었다.

- 반면에 Library는 사용자가 흐름에 대해 제어를 하며 필요한 상황에 가져다 쓴다.

 

참고

- https://mangkyu.tistory.com/4

- https://webclub.tistory.com/458