IoC / DI란


스프링 프레임워크는 IoC 컨테이너라고도 합니다. IoC와 DI가 무엇인지 알아보겠습니다

 

IoC(Inversion of Control, 제어의 역전)

컨테이너, 프레임워크가 오브젝트를 제어하는 것을 제어의 역전(IoC)라고 합니다. 예를 들어 서블릿 클래스를 만들고 구현하는 것은 개발자가 하지만, 서블릿 생명주기를 관리하는 것은 WAS가 담당합니다.

IoC를 구현하는 방식은 여러 방법(event, delegate 등)이 있고, DI는 IoC를 구현하는 방식 중 하나입니다.

 

DI(Dependency Injection, 의존성 주입)

의존성 주입은 클래스 사이 의존관계를 빈(Bean) 설정 정보를 바탕으로 컨테이너가 연결해주는 것을 말합니다.

구현 방법은 아래와 같은 세가지 방법이 있습니다. 가장 권장되는 방식은 생성자 주입입니다.

  • 생성자 주입(Constructor Injection)
  • 세터 주입(Setter Injection)
  • 필드 주입(Field Injection)

각각에 대해서는 다른 게시물로 작성하겠습니다.

반응형