프레임워크와 라이브러리의 차이점

  • 둘의 결정적인 차이점은 애플리케이션에 대한 제어권입니다.

 

라이브러리

개발자가 짜놓은 코드 내에서 필요한 기능이 있으면 해당 라이브러리를 호출해서 사용하는 것이 라이브러리입니다.

@SpringBootApplication
@RestController
@RequestMapping(path = "/v1/message")
public class SampleApplication {
    @GetMapping
    public String getMessage() { 
        String message = "hello world";
        return StringUtils.upperCase(message); // 라이브러리 호출
    }

    public static void main(String[] args) {
        SpringApplication.run(SampleApplication.class, args);
    }
}

위의 코드에서 StringUtil 이라는 라이브러리를 호출 해서 사용하고 있습니다.

이렇게 사용하게 되면 애플리케이션 흐름의 주도권이 개발자에게 있습니다.

 

 

 

 

 

프레임워크

@SpringBootApplication
@RestController
@RequestMapping(path = "/v1/message")
public class SampleApplication {
    @GetMapping
    public String getMessage() { 
        String message = "hello world";
        return StringUtils.upperCase(message); // 라이브러리 호출
    }

    public static void main(String[] args) {
        SpringApplication.run(SampleApplication.class, args);
    }
}

위의 코드에서 getMessage() 메서드 내부의 코드처럼 개발자가 코드를 작성해두면

SpringFramework 에서 개발자가 작성한 코드를 사용해 애플리케이션의 흐름을 만들어냅니다.

 

즉, 애플리케이션의 흐름의 주도권이 개발자가 아닌 Framework 에 있습니다.

'스터디' 카테고리의 다른 글

AOP - 관점 지향 프로그래밍  (0) 2022.08.09
IoC / DI  (0) 2022.08.09
스키마와 쿼리 디자인  (0) 2022.08.04
트랜잭션  (0) 2022.08.04
데이터베이스  (0) 2022.08.04

+ Recent posts