1. 상태 패턴이란?상태(State) 패턴은 객체의 상태에 따라 그 객체의 행동(Behavior)을 변경하는 방법을 제공하는 디자인 패턴입니다. 객체의 상태가 바뀜에 따라 동일한 메서드 호출에서도 서로 다른 동작을 수행하게 됩니다.이 패턴은 상태를 클래스로 분리하고 각 상태 클래스에서 특정 상태에 맞는 행동을 구현함으로써 조건문 분기를 제거하고 코드의 유연성을 높이는 데 기여합니다.2. 상태 패턴의 특징상태 독립성: 각 상태는 서로 독립적으로 구현되며, 서로 다른 상태로 전환할 수 있습니다.유지보수 용이: 상태 추가/변경 시 기존 코드를 수정하지 않고 새로운 상태 클래스를 추가할 수 있습니다.가독성 향상: 복잡한 조건문 대신 상태 객체를 활용하여 코드의 가독성을 높입니다.3. 상태 패턴의 클래스 다이어그..