본문 바로가기
knowledge/development

Dependency Injection

by 앙냥냥냥 2020. 6. 8.

DEPENDENCY

dependency는 쉽게 말하자면 B를 하기 위해서는 A가 필요하다! 라는 뜻이다.

Class A:  
    pass
Class B:
    self.a = A()

이 경우, A 때문에 B가 바뀌거나, 정의될 수 없거나... 하는 경우가 생길 수 있다. 이를 의존성이라고 한다.

INJECTION

dependency injection은 이러한 종속성의 문제를 해결하기 위해 등장했다. 한마디로 A가 없어도 B가 가능하게 하는 것!

방법은 외부에서 종속성을 가지게 만드는 요소를 주입해주는 방식으로 해결하는 것이다. 클래스면 클래스, 함수면 함수든지 간에 해당 요소를 내부에서 사용하려고 하는 것이 아니라, 외부에서 주입해주도록 만들고, 내부에서는 해당 요소를 받을 것을 가정하고 받는 식으로 진행한다.