Java

[Java] Framework, Library

Castle Bird 2025. 12. 11. 16:33

1. Framework

사전 의미

  1. (건물 등의) 뼈대[골조]
  2. (판단·결정 등을 위한) 틀
  3. 체제, 체계
    출처: 네이버 백과사전

프레임워크는 개발 방식의 틀을 제공하며, 제어 흐름을 프레임워크가 주도한다(IoC).
개발자는 미리 정해진 구조에 맞춰 코드를 작성하며, 실행 과정에서 프레임워크가 해당 코드를 호출한다.
Spring Framework는 전형적인 예로, IoC Container가 객체 생성·의존성 주입·요청 흐름을 모두 관리한다.

 

프레임워크의 강제예시(Spring)

  1. 폴더 구조 강제
    • src/main/java
    • src/main/resources
    • src/main/test 등
  2. 어노테이션 규칙 강제
    • @Controller, @Service, @Repository, @Component 등을 지정해야 IoC Container가 자동으로 Bean 등록

2. Library

사전의미

  1. 도서관
  2. (대저택의) 서재
  3. (개인이 가진 책·시디 등의) 장서[수집품]들
    출처: 네이버 백과사전

라이브러리는 특정 기능을 제공하는 도구이며, 제어 흐름을 개발자가 직접 주도한다.
개발자는 어떤 구조도 강제받지 않으며, 본인이 작성한 코드 안에서 필요할 때 라이브러리를 호출하여 사용한다.
라이브러리는 단순히 호출 가능한 기능 집합을 제공할 뿐, 프로그램 전체의 실행 흐름이나 구조를 통제하지 않는다.

 

라이브러리 예시(Spring)

  • Collections.sort(list); // 개발자가 직접 java.util.Collections의 기능을 호출
  • 정렬 기능(sort)은 필수가 아니며, 필요할 때만 개발자가 선택적으로 호출해 사용한다.

'Java' 카테고리의 다른 글

[Java] CORS와 CSRF의 차이  (0) 2025.12.14
[Java] String, StringBuffer, StringBuilder  (0) 2025.12.12
[Java] Spring의 탄생 배경  (0) 2025.12.11
[Java] HashSet  (0) 2025.12.07
[Java] Stream - map과 flatMap  (0) 2025.11.26