전략 패턴 (Strategy Pattern) 동일한 계열의 알고리즘들을 개별적으로 캡슐화하여 상호 교환할 수 있게 정의하는 패턴 하나의 클래스가 많은 행동들을 정의하고, 클래스 연산 안에서 복잡한 다중 조건문의 모습을 취하는 경우 사용 독립적으로 원하는 알고리즘 선택하여 사용 클라이언트에 영향 없이 알고리즘 변경 예제 // Strategy Interface class MovableStrategy { constructor(strategy) { this.way = strategy.way; } move() { console.log(`${this.way}를 통해 이동합니다.`) } } // Concrete Strategies class RailStrategy extends MovableStrategy { con..