전략 패턴은 알고리즘들의 패밀리를 정의하고, 각 패밀리를 별도의 클래스에 넣은 후 그들의 객체들을 상호교환할 수 있도록 하는 행동 디자인 패턴입니다.한 코드에서 다르게 동작해야 하는 부분들이 존재할 때, 그 부분들을 따로 빼는 것 Ex)기존 Navigator 클래스는public class Navigator { public Route roadRoute() { // ... 도로 루트 로직 return route; }}와 같은 형태로 이루어져 있었는데, 어플리케이션이 확장되면서 대중교통, 걷기 루트가 추가됨.public class Navigator { public Route roadRoute() { // ... 도로 루트 로직 return route; } ..