Study/용어
의존성 주입(Dependency Injection)
Mountain96
2020. 4. 10. 01:04
서비스(외부객체)를 선언하고 이에 대한 실제 정의는 외부에서 주입하는 것을 의존성 주입이라 한다.
즉 외부 객체를 사용함으로써 의존성이 생기고 이에 대한 정의나 생성은 외부에 위임하는 것이다. (제어 역전)
이를 통해 클라이언트 코드는 객체에 대한 정의나 생성에 관하여 일절 관여할 필요가 없어진다.
서비스가 인터페이스를 구현한 객체라면 더 좋다.
추상화가 갖추어지고 클라이언트는 서비스의 인터페이스를 통해 어떤 기능이 있는지만 파악할 수 있기 때문이다.
또한 클라이언트는 서비스의 실제 객체에 대한 구체적인 내용은 모르게 된다.