[디자인패턴] 전략 패턴(Strategy Pattern)이란 무엇인가?
2023. 3. 7. 19:45
Programming/Design Pattern
정의 이는 다음과 같은 의미를 가지고 있다. 어떤 문제를 해결하는 알고리즘을 클래스 별로 캡슐화해서, 필요에 따라 교체 가능하도록 하여 문제 상황마다 다른 전략(Strategy)을 세울 수 있게 하는 디자인 패턴 디자인 패턴을 접하는 많은 사람들이 그러하듯, 정의만 봐서는 어떤 내용인지 이해가 잘 되지 않는다. 아래와 같은 문제 상황과 예시를 보며 알아보자. 문제 상황 만약 객체 지향 프로그래밍을 이용해 다음과 같은 클래스를 작성해야 한다고 가정해 보자. Warrior(전사) 슈퍼 클래스를 만든다. 이 클래스는 공격 기능, 이동 기능이 있다. 이를 상속받는 서브 클래스들은 각각 다른 공격 기능, 이동 기능을 갖출 수 있다. 공격 기능에는 Slash, Arrow가 있고, 이동 기능에는 Walk, Ride가..