의존성 주입(DI: Dependency Injection)

  • 객체에 의존성을 제공하는 테크닉 중 하나이다.
  • 의존성을 클래스 내부에서 직접 생성하는 것이 아니라, 외부에서 결정하고 주입하는 방식이다.
  • 즉, 객체가 의존하는 또 다른 객체를 외부에서 선언하고 이를 주입받아 사용하는 것이다.

 

의존성(Dependency)

  • 두 클래스 간의 관계에 대한 것
  • 클래스 간의 의존성이 있다
    • => 클래스 간의 의존 관계가 있다
    • => 한 클래스가 바뀔 때 다른 클래스가 영향을 받는다.

 

의존성 주입의 장점

  • 의존성이 낮아진다.
    • 의존성이 가진 위험성이 낮아진다.
  • 클래스 간의 결합도가 낮아진다.
    • 결합도가 낮아지면?
      • 한 클래스가 변경될 경우 다른 클래스가 변경될 필요성이 줄어든다.
    • 결합도가 낮아지면
      • 리팩토링이 쉬워진다.
      • 각 클래스를 다른 클래스와 분리하여 독립적으로 테스트할 수 있다.
  • 코드의 재사용성이 높아진다.
  • 가독성이 높아진다.

 

참고

https://tecoble.techcourse.co.kr/post/2021-04-27-dependency-injection/

https://kotlinworld.com/64

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
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기