개발을 하다 보면 이런 상황을 자주 만난다."어떤 요청을 해야 하는지는 알지만, 그 요청을 어떻게 처리할지는 나중에 정하고 싶을 때""요청을 큐에 넣어놨다가 나중에 실행하고 싶을 때""실행한 작업을 나중에 취소하거나 되돌리고 싶을 때"이런 상황에 딱 맞는 디자인 패턴이 바로 커맨드 패턴(Command Pattern)이다.커맨드 패턴이란?한마디로 말하면,"요청 자체를 객체로 만들어서 캡슐화하는 방법"이다.요청하는 쪽(Invoker) 과 요청을 실제로 처리하는 쪽(Receiver) 사이에Command 객체가 중간에 끼어들면서 요청을 깔끔하게 분리시켜준다.왜 커맨드 패턴을 쓸까?요청과 실행을 분리할 수 있다.요청을 큐에 저장해뒀다가 나중에 실행할 수 있다.요청을 취소(Undo) 할 수 있다.요청을 기록(Log..