public class Store {
private Pencil pencil;
public Store() {
this.pencil = new Pencil();
}
}
변경
↓↓
public interface Product {
}
public class Pencil implements Product {
}
public class Store {
private Product product;
public Store(Product product) {
this.product = product;
}
}
public class BeanFactory {
public void store() {
// Bean의 생성
Product pencil = new Pencil();
// 의존성 주입
Store store = new Store(pencil);
}
}