웹(Web)/백엔드(Backend)

IoC컨테이너(Inversion of Control)란

SK_MOUSE 2021. 4. 4. 17:04
반응형

컨테이너에 담겨져있는것이 무엇이냐에 따라서

'무슨 컨테이너'라고 불린다.

 

앞서 우리는 부품Dependency에 비유했다.

(이전글 : 의존성 주입 참고)

2021.04.04 - [웹(Web)/백엔드(Backend)] - 의존성주입(DI, Dependency Injection)이란

 

 

부품 컨테이너 => Dependency 컨테이너 => IoC 컨테이너

그렇다면 왜 IoC컨테이너라고 부를까? Dependency 컨테이너라고 부르지 않고 말이다..

 

 

주문서에다가 어떤부품을 생성해주세요

-> 조립해주세요해서 담아달라하면 이렇게 생성된다.

 

 

작은부품 생성 후 큰부품에 붙여서 순서대로 조립한다.

제품 조립 순서를 짚고 넘어가자.

조립순서

<일체형>

소비자의 경우 A가만들어지면 B가만들어지고...D가 만들어진다.

따라서 소비자는 뒤에있는 부분은 알아서 만들어져서 조립과정을 모름

 

<조립형>

하지만 조립형의 경우 작은부품부터 역순으로 제작된다.

그래서 D-C-B-A로 '결합'이 되므로 역순(Inversion)으로 조립된다.

 

그래서 그냥 Dependency 컨테이너라고 부르지 않고,

"역순으로 객체를 생성하는 컨테이너"라고 부르기 위해서 IoC(Inversion of Control)라고 부른다.

 

 

영상참고

www.youtube.com/watch?v=QrIp5zc6Bo4&list=PLq8wAnVUcTFWxnsrMu5kS_jt_o8gpEiTR&index=4

 

반응형