DI와 IOC

두주·2023년 12월 18일
0

TIL

목록 보기
17/58

DI (의존성 주입)

DI(Dependency Injection)는 의존성 주입이라는 뜻으로, 객체 지향 프로그래밍에서
발생하는 객체 간 의존 관게를 효과적으로 관리하기 위한 방법 중 하나이다.

간단한 예시를 통해 DI가 필요한 사유를 확인해 보았다.

FriedChicken과 BakedChicken을 main에 불러올 때 클래스가 하나 더 추가되어야 함
-> 결합도가 높은 상태

bakedChicken을 정의해 주고, 간단하게 가져올 수 있다.

DI의 장점

  1. 코드 재사용성 향상
  • DI를 사용하면 객체 간의 의존 관계를 직접 관리하지 않고, 외부에서 주입받기 때문에 객체의 재사용성이 향상된다. 또한 의존성을 주입하는 코드는 모듈화가 용이하며, 다른 클래스에서도 동일한 방식으로 의존성을 주입할 수 있다.
  1. 유연성과 확장성
  • DI를 사용하면 객체 간의 의존 관계를 느슨하게 만들 수 있습니다. 이는 유연한 앱 아키텍처를 만들어준다. 또한, 새로운 기능을 추가하거나 변경할 때 의존성을 주입하는 코드만 수정하면 되기 때문에 확장성도 높아진다.
  1. 테스트 용이성
  • DI를 사용하면 객체 간의 의존 관계를 외부에서 주입하기 때문에 테스트하기 용이해진다. 의존성이 있는 클래스를 테스트할 때, 테스트용 모의 객체(Mock Object)를 사용하여 의존성을 주입할 수 있다. 이를 통해, 테스트의 격리성을 보장하면서도 효율적으로 테스트할 수 있다.
  1. 모듈화
  • DI를 사용하면 앱을 여러 모듈로 나누어 개발할 수 있다. 이는 앱을 팀 단위로 나누어 작업할 때, 각 모듈의 독립성을 보장하면서도 모듈 간의 의존성을 관리할 수 있다. 또한, 모듈별로 의존성을 주입하는 코드를 분리하여 코드의 가독성을 높일 수 있다.

사실 의존성이니 DI이니 난 생 처음 듣는 용어라 막 와닿지 않는다.

오늘보다 더 이해할 수 있는 내일을 바란다.

profile
야옹.

0개의 댓글