⚔️ 전략 패턴 (Strategy Pattern)
·
Computer Science/Design Pattern
객체의 행위(Algorithm)를 바꾸고 싶은 경우, 해당 객체의 코드를 직접 수정하지 않고 '전략'이라고 부르는 캡슐화한 알고리즘(행위)을 컨텍스트(Context) 안에서 바꿔주면, 행위가 상호 교체될 수 있게 만드는 패턴입니다.📁 전략 패턴 비유(ft. 얄코 용사)영상(링크)에서는 전략 패턴을 게임 캐릭터(용사)에 비유하여 설명합니다. 1. 문제가 되는 방식 (상속의 함정)만약 Warrior 클래스 안에 attack() 메서드(행위)가 '칼로 공격'이라고 고정되어 있다고 가정해 보겠습니다.이때 '활 쏘는 용사'가 필요하면 어떻게 할까요? Warrior를 상속받아 Archer를 만들고 attack()을 '활 쏘기'로 덮어씌울(Override) 수 있습니다. 만약 '불 마법 쓰는 용사'가 필요하면 또 ..