라이브러리와 프레임워크 구분하기

라이언양 위키
둘러보기로 가기 검색하러 가기

1 소개

라이브러리와 프레임워크가 어떻게 다른지 설명하기 위한 페이지로 여기의 내용은 혼자공부하는 파이썬 에서 가져왔다.

2 핵심

라이브러리(library)는 정상적인 제어를 하는 모듈이고 프레임워크(framework)는 제어 역전(Inversion of Control, IoC)이 발생하는 모듈을 의미한다. 제어 역전이란 단어 그대로 정상적인 제어가 뒤집어졌다는 말이다. 개발자가 모듈의 기능을 호출하는 형태의 모듈을 라이브러리(library)라고 한다. 반면에 프레임워크(framework)는 모듈이 개발자가 작성한 코드를 실행하는데, 이는 정상적인 제어가 아니기 때문에 제어 역전이라고 부른다.

요약하면, 개발자가 모듈의 함수를 호출하는 것이 일반적인 제어 흐름이며 라이브러리(library)가 이렇게 사용된다. 반면에 개발자가 만든 함수를 모듈이 실행하는 것은 앞서와 반대이기 때문에 제어 역전(Inversion of Control, IoC)라고 부른다.