본문 바로가기
카테고리 없음

프레임워크(Framework)와 라이브러리(Library)

by Alohawaii 2026. 3. 16.

프레임워크(Framework)와 라이브러리(Library)의 차이

 개발을 하다 보면 프레임워크와 라이브러리라는 용어를 자주 접하게 됩니다.

 두 개념 모두 개발 생산성을 높이기 위한 코드 재사용 도구이지만, 제어 흐름의 주체에서 차이가 있습니다.

 


1. 라이브러리(Library)

라이브러리는 필요한 기능을 모아둔 코드 모음입니다.

개발자가 필요할 때 직접 호출하여 사용하는 방식입니다.

 

즉 개발자가 흐름을 제어합니다.

 

예시

  • Lodash
  • Jackson

예시 코드

ObjectMapper mapper = new ObjectMapper();
mapper.writeValueAsString(object);

위 코드에서는 개발자가 직접 라이브러리 함수를 호출하여 사용합니다.

 

특징

  • 필요한 기능만 가져다 사용
  • 실행 흐름은 개발자가 제어
  • 특정 기능을 보조하는 역할

2. 프레임워크(Framework)

프레임워크는 애플리케이션의 전체 구조와 흐름을 제공하는 개발 틀입니다.

 

개발자는 프레임워크가 정한 구조 안에서 코드를 작성합니다.

즉 프레임워크가 흐름을 제어합니다.

 

대표적인 예

  • Spring Framework
  • Spring Boot
  • Django

예시

@RestController
public class UserController {
	
    @GetMapping("/users")
    public List<User> getUsers() {
    	return userService.findAll();
    }
}

여기서는 개발자가 메서드만 작성하면 요청 처리 흐름은 Spring이 자동으로 관리합니다.


3. 핵심 차이(Inversion of Control)

가장 중요한 차이는 제어의 흐름입니다.

 

구분 라이브러리 프레임워크
제어 흐름 개발자가 제어 프레임워크가 제어
구조 필요할 때 호출 정해진 구조 안에서 개발
역할 특정 기능 제공 애플리케이션 전체 구조 제공

 

라이브러리는 개발자가 호출하는 도구이고, 프레임워크는 애플리케이션 흐름을 제어하는 구조이다.