= (소프트웨어) 디자인 + (공통적으로 마주치는 문제를 해결하는 방법) 패턴
= 객체가 할 수 있는 행위들 각각을 전략으로 만들어 놓고 사용하며,
동적으로 전략 수정이 가능한 패턴
(Walk, Run, Fly, Rocket)
각 알고리즘 캡슐화
(Move Strategy)
상호 교환이 가능하도록 만들기
각 알고리즘 캡슐화 Weapon 전략, Armor 전략
사람을 만들 때 weapon과 Armor를 정해주며 생성
그 사람이 공격이나 방어를 할 때에 정해진 무기와 갑옷 사용
상황에 따라서 원하는 무기나 갑옷으로 사용 가능
새로운 장비나 기능을 추가할 때에는 새로운 캡슐을 만들어 주어서 간단하게 추가하기 가능
도중에 원하는 방식으로 교환도 가능
Human에서 전략 상호 교환이 가능하도록 위 예시처럼 setWeapon을 만들어주어
.setWeapon을 써서 무기 교환 가능