커맨드 패턴에서, 시스템의 모든 변경 이력을 기록해 과거의 어떤 지점으로든 상태를 되돌릴 수 있는 내용을 살펴 보았습니다. 모든 임의의 과거가 아니라 필요한 때 특정 시점으로 되돌릴 수만 있으면 충분한 경우가 있습니다. 메멘토 패턴은 바로 이런 경우 이며 특정 시점의 시스템 상태를 전용 객체에 저장하여 리턴합니다. 이렇게 저장된 객체를 이용하여 저장되어 있던 상태로 되돌릴 수 있습니다. 은행 계좌 다음은 BankAccount 클래스의 정의입니다. class BankAccount { int balance = 0; public: explicit BankAccount(const int balance) : balance(balance) { } Memento deposit(int amount) // 예금 처리후 ..