컴퓨터 공학 & 통신

[개념 정리] 라이브러리 vs 프레임워크

왈왈디 2023. 7. 3. 10:06
728x90

라이브러리프레임워크의 차이는 면접 단골 질문이다.

둘이 어떻게 다른지 알아보자.

 

라이브러리

라이브러리는 공통으로 사용될 수 있는 특정한 기능들을 모듈화한 것으로

폴더명, 파일명 등에 대한 규칙이 없고

프레임워크에 비하여 상대적으로 자유롭다.

예시로는, 자바스크립트의 axios 등이 있다.

 

프레임워크

프레임워크는 공통으로 사용될 수 있는 특정한 기능들을 모듈화한 것을 말한다.

폴더명, 파일명 등에 대한 규칙이 있으며,

라이브러리에 비해 엄격하다.

예시로는, 자바스크립트의 vue.js, NestJS,  파이썬의 Django 등이 있다.

 

비교

라이브러리를 우리가 운전할 수 있는 자동차에 비유한다면 

프레임워크는 우리가 탑승하는 비행기에 비유할 수 있다.

 

자동차는 우리가 핸들을 꺾어 자유롭게 사용할 수 있지만,

비행기 타고 이동할 때에는 우리가 경로를 바꾸거나 세부적인 사항을 바꿀 수 없다.

 

이와 같이 라이브러리는 자유도가 높고, 프레임워크는 자유도가 낮다.

대신 제공되는 기능은 프레임워크가 많고, 라이브러리가 적다. 

 

또한 프레임워크에서 라이브러리를 사용할 수 있다.

프레임워크가 더 큰 틀이라고 이해할 수 있다.

 

  라이브러리 프레임워크
자유도 높음 낮음
기능 제공 적음 많음

 

참고: inflearn 강의 'CS 지식의 정석 - 큰돌'

728x90