2025-08-27 00:43
Tags: 소프트웨어 공학
의존성 주입(Dependency Injection, DI)
-
객체가 필요로 하는 다른 객체를 외부에서 직접 생성해서 전달하는 디자인 패턴
-
클래스간 결합도를 낮춰 코드의 유연성, 재사용성, 테스트 용이성 상승
-
제어의 역전을 구현하는 핵심 기술
-
의존성은 하나의 객체가 다른 객체의 기능을 사용해야 할 때 발생하는 관계 의미
-
객체에서 직접 필요한 부품(의존성)을 만드는 대신 외부에서 만들어서 넣어준다.
-
서비스(Service / Dependency): 도움이 되는 객체, 의존성의 대상이 되는 객체
-
클라이언트(Client): 서비스를 사용하는 객체, 의존성을 주입받는 객체
-
인젝터 (Injector / DI Container): 클라이언트가 필요로 하는 서비스를 생성하고, 클라이언트에 서비스를 주입
- 클라이언트가 직접 서비스를 선택하는게 아니라 통제권을 인젝터가 가진다.