에릭 프리먼 님의 "헤드퍼스트 디자인 패턴" 책을 정리한 포스팅 입니다 1. 커맨드 패턴요청자와 수행자를 분리하는 패턴요청을 하나의 객체로 캡슐화하여, 서로 다른 요청을 매개변수로 처리 요소구성요소역할 설명Receiver실제 작업을 수행하는 객체Command작업을 캡슐화한 인터페이스 또는 클래스Invoker커맨드 객체를 받아 실행을 요청하는 객체 장점요청을 객체로 기능 확장 (저장, 취소, 재실행 등)요청 내역을 유연하게 구성 가능 (큐잉, 로깅, 트랜잭션 처리 등) 2. 예제: 리모컨리모컨 (Receiver)예제) RemoteControl더보기public class RemoteControl { Command[] onCommands, offCommands; Command undoCommand;..