의존성 주입(DI: Dependency Injection)
- 객체에 의존성을 제공하는 테크닉 중 하나이다.
- 의존성을 클래스 내부에서 직접 생성하는 것이 아니라, 외부에서 결정하고 주입하는 방식이다.
- 즉, 객체가 의존하는 또 다른 객체를 외부에서 선언하고 이를 주입받아 사용하는 것이다.
의존성(Dependency)
- 두 클래스 간의 관계에 대한 것
- 클래스 간의 의존성이 있다
- => 클래스 간의 의존 관계가 있다
- => 한 클래스가 바뀔 때 다른 클래스가 영향을 받는다.
의존성 주입의 장점
- 의존성이 낮아진다.
- 의존성이 가진 위험성이 낮아진다.
- 클래스 간의 결합도가 낮아진다.
- 결합도가 낮아지면?
- 한 클래스가 변경될 경우 다른 클래스가 변경될 필요성이 줄어든다.
- 결합도가 낮아지면
- 리팩토링이 쉬워진다.
- 각 클래스를 다른 클래스와 분리하여 독립적으로 테스트할 수 있다.
- 결합도가 낮아지면?
- 코드의 재사용성이 높아진다.
- 가독성이 높아진다.
참고
https://tecoble.techcourse.co.kr/post/2021-04-27-dependency-injection/
https://tony-programming.tistory.com/entry/Dependency-%EC%9D%98%EC%A1%B4%EC%84%B1-%EC%9D%B4%EB%9E%80
'Backend > 🌏OOP' 카테고리의 다른 글
[OOP] 클래스, 객체, 인스턴스 (0) | 2021.11.16 |
---|---|
[OOP] 객체 지향 프로그래밍이란? (0) | 2021.11.16 |