전략 패턴

화낼거양's avatar
Nov 12, 2024
전략 패턴
 
 

의존성 역전 원칙 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

moohyun