(IOC 란 Inversion of Control 으로 제어의 역전을 뜻한다.)
프레임 워크를 사용하지 않는 전통적인 프로그래밍에서는 개발자가 객체의 생성 관리, 제어 흐름등을 직접 다루지만,
IOC는 프레임 워크가 내부에서 결정된 대로 흐름과 제어를 담당한다.
스프링에서는 ApplicationContext 라는 컨테이너에서 컴포넌트를 생성하고 조립하며, 객체의 리사이클을 관리한다.
IOC라는 개념을 통해
과 같은 이점을 얻을 수 있다.
(DI 란 Dependency Injection 으로 의존성 주입을 뜻한다.)
IOC 개념을 구현하기 위해 사용하는 디자인 패턴 중 하나로, 객체의 의존관계를 외부에서 주입시키는 패턴이다.
객체가 직접 의존하는 객체를 생성하거나 참조하는 대신, 의존성을 외부에서 주입받도록 한다.
DI에는 3가지 방법이 있다.
reference