IoC
- 객체의 생성, 생명주기의 관리까지 모든 객체에 대한 제어권이 바뀌었다는 것을 의미
- 객체 제어권이 개발자에 있는 게 아니라 시스템에 있다
- 자주 사용하는 객체는 미리 메모리에 올려다 두고 개발자가 사용을 요청하면 객체를 빌려주고 재활용할 수 있게 해줌(객체를 직접 생성하는 것이 아님)
- 일종의 컨테이너 역할 => IoC(스프링) 컨테이너
IoC 분류
DI(Dependency Injection)
- 각 클래스 간의 의존관계를 빈 설정(XML파일) 정보를 바탕으로 컨테이너가 자동으로 연결해주는 것
- DI 종류
- 생성자 주입(Constructor Injection)
- 수정자 주입(Setter Injection)
- 메서드 주입(Method Injection)
DL(Dependency Lookup)
- 저장소에 저장되어 있는 Bean에 접근하기 위해 컨테이너가 제공하는 API를 이용하여 Bean을 Lookup하는 것