# Library VS Framework
1. Library
- 라이브러리는 단순 활용 가능한 도구의 집합
- 개발자가 만든 클래스를 호출하여 사용
2. Framework
- 뼈대나 기반구조, 제어의 역전개념 ??
- 특정 개념들의 추상화를 제공하는 여러 클래스나 컴포넌트
- 재사용 가능한 컴포넌트
## 차이점
1. 제어 흐름에 대한 주도성이 누구에게 있는가?
- 프레임워크는 전체적인 흐름을 스스로가 쥐고 있으며 사용자가 그 안에서 필요한 코드를 짜넣는방식
- 라이브러리는 사용자가 전체적인 흐름을 만들며 필요 시 라이브러리를 가져다 쓰는 방식
<br>
> 라이브러리를 사용하는 애플리케이션 코드는 애플리케이션 흐름을 직접 제어합니다.
> 단지 동작하는 중에 필요한 기능이 있을 때 능동적으로 라이브러리를 사용할 뿐입니다.
> 반면에 프레임워크는 거꾸로 애플리케이션 코드가 프레임워크에 의해 사용되는 것입니다.
> 보통 프레임워크 위에 개발한 클래스를 등록해두고, 프레임워크가 흐름을 주도하는 중에 개발자가 만든 애플리케이션 코드를 사용하도록 만드는 방식입니다.
> 프레임워크에는 분명한 제어의 역전 개념이 적용되어 있어야 합니다.
>애플리케이션 코드는 프레임워크가 짜놓은 틀에서 수동적으로 동작해야 합니다.
'Spring' 카테고리의 다른 글
Spring Collection @Valid (0) | 2021.06.22 |
---|---|
Spring Bean 생명주기 (0) | 2021.06.22 |
스프링 IoC, DI (0) | 2021.06.22 |
Spring 이란 (1) | 2021.06.22 |
Spring DTO의 생성 및 레이어 이동 (0) | 2021.05.04 |
최근댓글