제어의 역전 IoC (Inversion of Control)
프로그램의 제어 흐름을 직접 제어하는 것이 아니라 외부에서 관리하는 것.
프레임워크 vs 라이브러리
- 프레임워크가 내가 작성한 코드를 제어. (JUnit)
- 반면, 내가 작성한 코드가 직접 제어의 흐름을 담당하면 그것은 라이브러리.
의존관계 주입 DI (Dependency Injection)
- 정적인 클래스 의존 관계 / 동적인 객체 의존 관계(실행시점) 을 분리해서 생각해야 함.
- [import 부분] 애플리케이션 실행하지 않고도 정적인 클래스 의존 관계 파악할 수 있음.
- 실행 시점에 외부에서 구현 객체 생성 후 클라이언트에 전달해서 실제 의존관계가 연결되는 것이 바로 의존관계 주입이다.
- 의존관계 주입을 사용하면 정적 다이어그램 손안대고 동적인 그림을 바꿀 수 있다.
IoC컨테이너, DI컨테이너
- AppConfig처럼 객체 생성하고 의존관계를 연결해 주는 것.
- 또는 어셈블러, 오브젝트 팩토리 등으로 불리기도 함.
'커리어 > 백엔드' 카테고리의 다른 글
| [JPA] 영속성 컨텍스트 (0) | 2025.10.11 |
|---|---|
| [Spring] 빈 생명주기 콜백, 빈 스코프 (4) | 2025.10.09 |
| [Spring] 컴포넌트 스캔, 의존관계 주입 (0) | 2025.10.08 |
| [Spring] 싱글톤을 스프링에서 보장하는 방법 (2) | 2025.10.07 |
| [Spring] 객체 지향 설계와 스프링 (0) | 2025.10.04 |