알고리즘군을 정의하고 캡슐화 해서 각각의 알고리즘군을 수정해 사용할 수 있게 해줍니다.클라이언트로부터 알고리즘을 분리해서 독립적으로 변경할 수 있습니다.이것만 들어서는 잘 감이 안올겁니다. 좀 더 자세한 예제를 들어봅시다.오리를 만드는 코드 입니다. 여기서 오리를 날게
한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체에게 연락이 가고 자동으로 내용이 갱신되는 방식으로 일대다(one-to-many)의존성을 정의합니다.예제를 통해 알아봅시다.WeatherData 클래스에는 3가지 측정값(온도, 습도, 기압)의 게터 메소드가 있다.새
객체에 추가요소를 동적으로 더할 수 있다. 훨씬 유연하게 기능을 확장할 수 있다.예제로 학습해 봅시다.카페의 주문 시스템을 만든다.고객은 음료를 주문할 때 우유, 두유, 모카, 휘핑크림등을 추가할 수 있다.추후 옵션이 늘어날 수 있다.각각을 추가할 때마다 커피 가격이