[Spring] 라이브러리 vs 프레임워크

gyeol·2025년 10월 22일

스프링

목록 보기
50/50

라이브러리와 프레임워크의 차이는 제어권에 있다.

라이브러리

라이브러리는 내가 호출하는 코드로 개발자가 필요할 때 불러서 사용하는 도구이다.
Math.random(), axios.get() 등과 같은 코드들은 개발자가 작성한 코드 안에서 라이브러리를 호출하는 것이다.

List<String> list = new ArrayList<>();
Collections.sort(list);  // 직접 메서드 호출

프레임워크

정해진 틀 안에 개발자가 코드를 넣으면 실행 흐름은 프레임워크가 관리하게 된다. 즉, 제어의 주체가 개발자가 아닌 프레임워크라고 볼 수 있다.
Spring, Django 등을 보면 개발자가 전체의 흐름을 짜는게 아닌, 각 프레임워크의 규칙, 패턴에 따라 코드를 짜고 동작한다.

// Spring Framework
@RestController
public class HelloController {
    @GetMapping("/hello")
    public String hello() {
        return "Hello Spring";
    }
}
// 여기서 내가 직접 main을 돌리지 않아도 Spring이 이 컨트롤러를 호출함

정리

구분라이브러리프레임워크
제어 흐름개발자가 직접 호출함프레임워크가 전체 실행 흐름을 제어함 (IoC, 제어의 역전)
구조 제공 여부도구나 기능 제공 중심Spring Batch 처럼 Job, Step, Reader/Processor/Writer 등 구조 자체를 제공
역할필요한 기능만 가져다 씀애플리케이션의 실행 흐름을 관리
profile
공부 기록 공간 '◡'

0개의 댓글