의존성 주입(DI, Dependency Injection)이란? 의존성(dependency)이란 하나의 객체 A가 다른 객체 B 없이 제대로 된 역할을 할 수 없는 관계를 말한다. 이때 객체 A가 객체 B에 의존적이다 라고 표현한다. 주입(injection)이란 객체 A가 객체 B를 만들어 사용하는 방식과는 달리, 객체 A가 객체 B를 필요로 한다는 신호를 보내면 제3의 존재(Injector)가 객체 B를 객체 A에 전달해주는 것을 의미한다. 따라서 의존성 주입이란, 객체 A가 의존성을 가질 객체 B를 필요로 하는 상황에서 제3의 존재가 객체 B를 찾아 객체 A에 전달해주는 것을 의미한다. 여기서 객체 A는 클라이언트를 의미하고, 객체 B는 서비스가 된다. 의존성 주입이 왜 필요한가? 서비스를 사용하는 ..