기술 정리/Java
[Java]Dependency Injection : 의존성 주입
Treejin
2021. 3. 17. 23:13
반응형
// Programmer.java
class Programmer {
private Coffee coffee;
public Programmer() {
this.coffee = new Coffee();
}
public startProgramming() {
this.coffee.drink(); // 일단 마시고 시작하자
...
}
}
위 코드에서는 Prgrammer클래스는 Coffee클래스의 의존성을 가진다.
=> Coffee클래스를 수정하면 Programmer클래스도 함께 수정해주어야 한다.
DI(Dependency Injection) : 의존성 주입
장점
- Unit Test가 용이하다.
- 코드의 재활용성이 높다.
- 객체 간의 의존성을 없앨 수 있다.
- 객체 간의 결합도가 낮아진다.
// Programmer.java
class Programmer {
private Coffee coffee;
// 그 날 마실 커피를 고를 수 있게된 개발자
public Programmer(Coffee coffee) {
this.coffee = coffee;
}
public startProgramming() {
this.coffee.drink();
...
}
}
의존하는 클래스를 주입해줌으로써 객체 간의 결합도를 줄인다!!
반응형