인프런의 자바 스프링 프레임워크(ver.2018) - 신입 프로그래머를 위한 강좌를 보고 정리한 내용입니다.
6. DI(Dependency injection)
6.1 DI(Dependency Injection)란?
- 배터리 일체형
1
2
3
4
5
6
7public class ElectronicCarToy {
private Battery battery;
public ElectroniCarToy(){
battery = new NormalBattery();
}
}
배터리가 떨어지면 장난감 새로 구입해야함
- 배터리 분리형 1
1
2
3
4
5
6
7
8
9
10
11public class ElectronicCarToy {
private Battery battery;
public ElectroniCarToy(){
}
public void setBattery(Battery battery){
this.battery = battery;
}
}
setBattery()를통해 배터리를 교체 할 수 있다. (처음에 배터리 없는 상태로 출시)
- 배터리 분리형 2
1
2
3
4
5
6
7
8
9
10
11public class ElectronicCarToy {
private Battery battery;
public ElectroniCarToy(Battery battery){
this.battery = battery;
}
public void setBattery(Battery battery){
this.battery = battery;
}
}
setBattery()를통해 배터리를 교체 할 수 있다. (처음에 배터리 있는 상태로 출시)