ComputerScience

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

LeeDaniel 2024. 12. 6. 15:14
구분 Library(라이브러리) Framework(프레임워크)
개념 개발자가 특정 기능을 구현할 때
사용할 수 있는 재사용 가능한 코드 집합
애플리케이션 개발의 구조를 제공하며
특정규칙에 따라 개발해야 하는
일종의 템플릿 또는 기반 구조
제어흐름 개발자가 코드를 호출하여 사용
(개발자가 제어권을 가짐)
프레임워크가 개발자의 코드를 호출
(프레임워크가 제어권을 가짐)
Inversion of Control
사용방식 필요한 부분만 골라서 사용 프레임워크가 제공하는 구조와 규칙을 따르며
전체적인 개발 과정에 통합
유연성 자유롭게 선택하고 조합 가능 프레임워크의 규칙과 구조를 준수해야 함
예시 Pandas, NumPy, jQuery, Lodash Django, Spring, Angular, React
(특정 맥락에서 컴포넌트 기반 프레임워크로
분류되기도 함)
학습곡선 특정 기능에 집중하여
학습이 상대적으로 쉬움
전체적인 구주와 규칙을 이해해야 하므로
학습 곡선이 더 가파를 수 있음
종속성 특정 프로젝트에 완전히 종속되지 않음
(다양한 환경에서 사용 가능)
프레임워크 기반으로 프로젝트를 작성하면
해당 프레임워크에 종속성이 높아짐
사용예시 개발자가 NumPy라이브러리의
특정 함수를 호출하여 데이터 연산 수행
Django프레임워크로 프로젝트를 생성하고
MVC(Model-View-Controller)구조를 따르며 개발 진행
728x90
반응형