DI λ?
λ§ κ·Έλλ‘ μμ‘΄κ΄κ³λ₯Ό μ£Όμ
νλ κ²μ΄λ€. μ¬κΈ°μ μμ‘΄κ΄κ³λ μ΄λ€ B μ κΈ°λ₯μ΄ μΆκ° λλ λ³κ²½λμμ λ A μ μν₯μ λ―ΈμΉλκ²μ λ§νλ€. κ°μμ λμ¨ μ₯λκ° λ‘λ΄μ μλ‘ λ€λ©΄, λ°°ν°λ¦¬λ₯Ό B, λ‘λ΄μ A λΌκ³ ν μ μλ€.
κ°μμμλ μΈκ°μ§μ DI λ°©λ²μ μ€λͺ
ν΄μ£Όμλ€.
μμ±μμ μμ‘΄κ΄κ³ μ£Όμ
public class ElectronicCarToy {
private Battery battery;
public ElectronicCarToy() {
battery = new NormalBattery();
}
}
Java
볡μ¬
Setter λ©μλμ μμ‘΄κ΄κ³ μ£Όμ
public class ElectronicCarToy {
private Battery battery;
public ElectronicCarToy() {
}
public void setBattery(Battery battery) {
this.battery = battery;
}
}
Java
볡μ¬
μΈλΆμμ Setter λ©μλμ μ£Όμ
νλ μ¬λ¬μ’
λ₯μ λ°°ν°λ¦¬λ₯Ό μ¬μ©ν μ μλ€!
μμ±μμ Setter λ©μλμ μμ‘΄κ΄κ³ μ£Όμ
public class ElectronicCarToy {
private Battery battery;
public ElectronicCarToy() {
this.battery = battery;
}
public void setBattery(Battery battery) {
this.battery = battery;
}
}
Java
볡μ¬
μΈλΆμμ Setter λ©μλμ μ£Όμ
ν λ°°ν°λ¦¬λ‘ μ΄κΈ°ν!