Java/Spring
[Spring] 제어의 역전(IoC)
깨준
2024. 9. 22. 20:24
제어의 역전(IoC)이란?
제어의 역전(IoC)는 애플리케이션의 제어 흐름을 개발자가 직접 관리하는 것이 아니라, 외부 프레임워크나 라이브러리에 제어흐름을 위임하는 설계 원칙이다. 또한 제어흐름 뿐만 아니라 생명주기, 의존성 관리도 프레임워크가 대신 처리하는 것이다.
- 제어흐름: 프로그램이 실행되는 동안 명령어들이 어떤 순서로 실행되는지를 결정하는 흐름
- 생명주기: 객체나 애플리케이션의 생성과 소멸까지의 전 과정
- 스프링 빈의 생명주기: 생성 → 의존성 주입 → 초기화 → 사용 → 소멸.
- 애플리케이션 생명주기: 시작 → 실행 → 종료.
- 의존성 관리: 객체(빈) 간의 관계를 다루며, 한 객체가 다른 객체를 어떻게 얻고 사용할지를 관리
IoC 컨테이너란?
IoC 컨테이너는 객체의 생명주기와 의존성을 관리하는 시스템이다. 제어의 역전에서 개발자로부터 제어 권한을 넘겨받는 곳이라고 생각할 수도 있다.
IoC 컨테이너 = 스프링 컨테이너 = DI 컨테이너