본문 바로가기
코딩 부트캠프

위클리페이퍼 4 - 프레임워크 vs 라이브러리

by 큣큣 2025. 4. 27.
🇶 프레임워크와 라이브러리의 차이점을 제어 흐름의 주체와 사용 방식을 중심으로 설명하고, Spring Framework와 일반 Java 라이브러리를 예시로 들어 설명하세요.
프레임워크는 제어 흐름의 주체가 프레임워크인 반면 라이브러리는 제어의 주체가 개발자이다. 스프링은 IoC 디자인 원칙을 따라, 제어는 스프링 프레임워크가 하는 반면, 다른 일반 java 라이브러리는 개발자가 제어 흐름을 주도하고 있다. 

- 프레임워크(Framework)란?
    - 개발자가 소프트웨어를 개발함에 있어 코드를 구현하는 개발 시간을 줄이고, 코드의 재사용성을 증가 시킬 목적으로 일련의 클래스 묶음이나 **뼈대, 틀**을 제공하는 라이브러리를 구현해 놓은 것이다.
- Framework의 특징
    - 개발자가 따라야 하는 가이드를 제공한다.
    - 개발할 수 있는 범위가 정해져 있다.
    - 개발자를 위한 다양한 도구, 플러그인을 지원한다.
- Framework의 장점
    - 개발 시간을 줄일 수 있다.
    - 정형화되어 있어 일정 수준 이상의 품질을 기대할 수 있다.
    - 유지 보수가 쉽다.
- Framework의 단점
    - 지나치게 의존하면 개발자의 능력이 저하되어 직접 개발하는 것이 어려워질 수 있다.
    - Framework 사용법 습득에 시간이 오래 소요될 수 있다. → 러닝 커브