📕 목차
1. 프레임워크 (Framework)
프레임워크 (Framework)
- 소프트웨어 개발을 위한 ‘일할 수 있는 틀’을 제공하는 개발 환경이다.
- (비유) 붕어빵을 만들려면 붕어빵 틀이 필요하다. 개발자는 이 틀에 맞춰 재료를 넣고 구워야 한다.
장점
- 일관된 구조 제공 → 협업과 유지보수 용이
- 공통 기능(보안, 인증 등) 제공 → 비즈니스 로직에 집중 가능
- 테스트 환경 지원
- 커뮤니티와 문서가 풍부
단점
- 복잡한 구조 → 학습 곡선이 높다
- 구조 변경이 제한적 → 유연성 부족
- 버전 업데이트 시 호환성 문제 가능
2. 라이브러리 (Library)
라이브러리 (Library)
- 개발자가 필요할 때 가져다 쓰는 ‘도구 모음’이다.
- (비유) 자동차의 타이어처럼 필요한 부품만 골라서 사용할 수 있다.
장점
- 검증된 기능 활용 → 생산성 향상
- 테스트 완료된 코드 → 안정성 확보
단점
- 지원 중단 or 업데이트 → 문제 발생 가능
- 버전 간 충돌 가능성 있음
- 불필요한 기능까지 포함될 수 있음
- 내부 코드 수정이 어려워 유연성 떨어짐
3. 프레임워크 vs 라이브러리
| 항목 | 프레임워크 | 라이브러리 |
| 제어 흐름 | 프레임워크가 제어 | 개발자가 직접 호출 |
| 구성 방식 | 전체 틀 제공 | 기능 단위 도구 제공 |
| 사용 예시 | Spring, Django | jQuery, Lodash |
| 자유도 | 낮음 | 높음 |
| 비유 | 붕어빵 틀 | 자동차 타이어 |
프레임워크는 개발 환경의 중심이 되고, 라이브러리는 보조적인 도구로 사용된다.
"Framework이 나를 호출하고, Library는 내가 호출한다." 라는 말로 두 개념의 차이를 기억하면 좋다.
'Spring > 강의' 카테고리의 다른 글
| [📕 기초 Spring] 2-3. Spring Framework와 Spring Boot (0) | 2025.05.03 |
|---|---|
| [📕 기초 Spring] 2-2. 어노테이션(Annotation) 이론 (0) | 2025.05.03 |
| [📕 기초 Spring] 1-4. Web Application (0) | 2025.05.03 |
| [📕 기초 Spring] 1-3. HTTP (1) | 2025.05.03 |
| [📕 기초 Spring] 용어 모음집 (0) | 2025.05.03 |