에릭 프리먼 님의 "헤드퍼스트 디자인 패턴" 책을 정리한 포스팅 입니다 1. 비지터 패턴다양한 객체에 새로운 기능을 추가할 경우 구성요소Visitor새로운 기능을 추가하는 객체각 객체의 accept 메소드를 호출하여 자신을 전달 ConcreteVisitor각 Element에 대해 수행할 작업 정의 Elementaccept() 메서드를 정의한 객체자신이 받아들일 수 있는 비지터를 정의 장점객체의 구조를 변경하지 않음새로운 기능 추가 용이비지터만 추가하면 됨 2. MenuMenuComponent// 메뉴 항목을 나타내는 요소 클래스public abstract class MenuComponent { public abstract void accept(MenuVisitor visitor);} Menupubl..