본문 바로가기
Engineering WIKI/Docs

프레임워크와 라이브러리의 차이

by wonos 2019. 1. 18.

프레임워크는 뼈대나 기반구조를 뜻하는데, Application 개발 시 필수적인 코드, 알고리즘, 데이터베이스 연동 등과 같은 기능들을 위해 

어느정도 뼈대(구조)를 제공해 주는 것.

어느정도 뼈대를 제공해 주기 때문에, 객체 지향 개발을 하면서 일관성 부족 등의 문제를 해결해 준다.

 

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

 

 

 

라이브러리는 특정기능에 대한 도구 or 함수들을 모은 집합. 프로그래머가 개발하는데 필요한 것들을 모아둔 것.

 

정의 : 단순 활용이 가능한 도구들의 집합.

 

Framework와 Library의 차이

 

Flow(흐름)에 대한 제어 권한이 어디 있느냐의 차이

프레임워크는 전체적인 흐름을 자체적으로 가지고 있으며,  프로그래머가 그 안에 필요한 코드를 작성

라이브러리는 사용자가 흐름에 대해 제어를 하며 필요한 상황에 가져다 쓰는 것

 

프레임워크에는 제어의 역전이 적용되어 있다는 것.

 

제어의 역전이란 어떠한 일을 하도록 만들어진 프레임워크에 제어의 권한을 넘김으로써 클라이언트 코드가 신경써야 할 것을 줄이는 전략