의존성 역전 원칙 DIP (Dependency Inversion Principle)
1. 잘못된 코드
public class Doorman {
public void 쫒아내(Cat cat) {
System.out.println(cat.getName() + "쫒아내");
}
}
문지기가 고양이(Cat)에 의존하기 때문에 쥐(Mouse)로 변경하면 기존 코드를 수정하여야 합니다.
2. 수정 예제
public class Doorman {
// DIP > Dependency Inversion Principle
public void 쫒아내(Animal animal) {
System.out.println(animal.getName() + "쫒아내");
}
}
Cat이나 Mouse 같은 구체적인 객체가 아니라 추상적인 클래스(Animal)를 매개 변수로 정한 뒤.
Cat 또는 Mouse 클래스를 > Animal 추상 클래스를 상속(extends)하도록 작성한다면, 쫒아내() 메소드의 내용을 수정하지 않아도 됩니다.
Share article