주요 디자인 패턴 디자인 패턴이란? 반복적으로 사용되는 소프트웨어 설계 패턴 전략(Strategy) 패턴 예시 상황 → 과일 매장에서 상황에 따라 다른 가격 할인 정책을 적용할 때 서로 다른 계산 정책들이 한 코드에 섞여 있어, 정책이 추가될수록 코드 분석이 어려움 가격 정책이 추가될 때마다 calculate 메서드를 수정하는 것이 점점 어려워진다. 예를 들어 마지막 손님 50% 할인과 같은 새로운 가격 정책이 추가될 경우, calculate 메서드에 마지막 손님을 구분하기 위한 lastGuest 파라미터가 추가되고 if 블록이 하나 더 추가되어야 한다. 일반 상황 if - else로 구성된 코드 블록이 비슷한 기능(비슷한 알고리즘)을 수행하는 경우 완전히 동일한 기능을 제공하지만 성능의 장단점에 따라 ..