의존성 주입

IT위키
이수민 (토론 | 기여)님의 2020년 3월 21일 (토) 01:03 판 (새 문서: 분류:소프트웨어 공학분류:프로그래밍 ;Dependency Injection == 의존성 == * 아래는 객체지향 프로그래밍에서 아주 흔히 쓰이는 형태의 클...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
Dependency Injection

의존성

  • 아래는 객체지향 프로그래밍에서 아주 흔히 쓰이는 형태의 클래스 및 메소드의 구현 예이다.
public class TestClass {
  public String testMethod() {
    OtherClass instance = new Instance();
    instance.setData('a');
    return instance.getData();
  }
}
  • TestClass의 testMethod에선 내부적으로 OtherClass라는 클래스를 사용한다.
    • OtherClass의 인스턴스에 Data를 설정하고 Data를 불러온다.
  • 만약 OtherClass가 변경되어 더 이상 setData 라는 메서드를 지원하지 않는다면 에러가 발생하게 된다.
  • 이때 TestClass는 OtherClass에 의존성이 있다고 표현한다.

의존성 문제

  • 의존성은 강한 결합도를 야기한다.
  • 의존성은 모듈의 수정을 어렵게 한다.
  • 의존성은 테스트를 어렵게 한다.

의존성 주입(IoC)

의존성 주입