1. 제어의 역전 IoC(Inversion of Control)
기존 프로그램은 클라이언트 구현 객체가 스스로 프로그램의 제어의 흐름을 조종했다.
AppConfig가 등장한 이후, 프로그램에 대한 제어 흐름에 대한 권한은 모두 AppConfig가 가지고 있다.
# 제어의 역전 IoC(Inversion of Control) : 프로그램의 제어 흐름을 구현 객체가 직접 제어하는 것이 아닌 외부에서 관리하는 것
프레임워크 vs 라이브러리)
# 프레임워크 : 작성한 코드를 제어하고, 이것을 대신 실행 (JUnit)
# 라이브러리 : 작성한 코드가 직접 제어의 흐름을 담당
2. 의존관계 주입 DI(Dependency Injection)
1) 정적인 클래스 의존 관계
클래스가 사용하는 import 코드만 보고 의존관계를 판단 가능하며, 애플리케이션을 실행하지 않아도 분석할 수 있다.
하지만, 인터페이스를 의존하는 객체는 실제 어떤 구현 객체를 사용하게 될지 모른다.

2) 실행 시점에 결정되는 동적인 객체 인스턴스 의존 관계
애플리케이션 실행 시점에 실제 생성된 객체 인스턴스의 참조가 연결된 의존 관계

# 의존관계 주입 : 애플리케이션 실행 시점(런타임)에 외부에서 실제 구현 객체를 생성하고 클라이언트에 전달하여, 클라이언트와 서버의 실제 의존관계가 연결되는 것
- 객체 인스턴스를 생성하고, 그 참조값을 전달해서 연결
- 의존관계 주입을 사용하면 클라이언트 코드를 변경하지 않고, 클라이언트가 호출하는 대상의 타입 인스턴스를 변경할 수 있다.
- 의존관계 주입을 사용하면 정적인 클래스 의존관계를 변경하지 않고, 동적인 객체 인스턴스 의존 관계를 쉽게 변경할 수 있다.
3. IoC 컨테이너, DI 컨테이너
# IoC 컨테이너 / DI 컨테이너 : 객체를 생성하고 관리하면서 의존관계를 연결해주는 것
의존관계 주입에 초점을 맞춰 최근엔 주로 DI 컨테이너라 한다. 어샘블러(조립하는 곳), 오브젝트 팩토리(오브젝트 만드는 곳) 등으로 불리기도 한다.
참고링크 : https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8?cid=325969
스프링 핵심 원리 - 기본편| 김영한 - 인프런 강의
현재 평점 5.0점 수강생 49,526명인 강의를 만나보세요. 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다. 스프링 기본 기능, 스프
www.inflearn.com
'강의 실습 > 스프링 핵심 원리 - 기본편' 카테고리의 다른 글
| 스프링 컨테이너 생성 (0) | 2026.04.07 |
|---|---|
| 스프링으로 전환하기 (0) | 2026.04.06 |
| 좋은 객체 지향 설계의 5가지 원칙의 적용 (0) | 2026.04.04 |
| 전체 흐름 정리 (0) | 2026.04.04 |
| 새로운 구조와 할인 정책 적용 (0) | 2026.04.03 |
댓글