Dependency Injection(의존성 주입)을 알아보자 - 생성자 함수
v1에는 재사용 가능한 코드가 있음에도 불구하고 미묘(?)한 차이 때문에 계속 각국의 타이어를 장착한 자동차 클래스를 만들어야하는 단점이 있었다.
이는 자동차를 만들 때 이미 타이어를 만드는 방법이 결정되어 있기 때문에 발생하는 문제이다.
(**자동차(전체)**가 **타이어(부분)**에 의존하고 있는 코드)
즉, 자동차를 만들 때 타이어를 만드는 방법을 결정하면 되는 사항이다.
(**의존하는 부분(타이어)**을 **전체(자동차)**에 주입시키는 패턴)1
2
3
4// Tire.java
public interface Tire {
void wheel();
}1
2
3
4
5
6// KoreanTire.java
public class KoreanTire implements Tire {
public void wheel() {
System.out.println("구르다");
}
}1
2
3
4
5
6// AmericanTrie.java
public class AmericanTire implements Tire {
public void wheel() {
System.out.println("wheel");
}
}
