문서 편집기에서 Ctrl + Z를 눌러 작업을 취소하거나, 게임에서 스킬 버튼을 눌러 기술을 발동시키는 기능들은 어떻게 구현될까요? 단순히 함수를 호출하는 것만으로는 '되돌리기'나 '예약 실행' 같은 복잡한 요구사항을 처리하기 어렵습니다.오늘은 요청 자체를 하나의 객체로 만들어 관리하는 커맨드 패턴(Command Pattern)에 대해 깊이 있게 알아보겠습니다.1. 커맨드 패턴이란?커맨드 패턴은 "요청을 객체의 형태로 캡슐화"하여, 사용자가 보낸 요청을 나중에 실행하거나 큐에 저장하고, 실행 취소(Undo)까지 할 수 있게 돕는 행동 패턴입니다.쉽게 이해하는 비유: 식당의 주문 시스템Client (손님): 메뉴를 고르고 주문을 합니다.Command (주문서): 손님이 주문한 내역이 적힌 종이입니다. (요..