State pattern 객체의 내부 상태가 바뀜에 따라서 객체의 행동을 바꿀 수 있음 상태를 변수로 관리하지 않고 상태 별 클래스(스트럭트)에 객체를 주입 Structure Reference https://refactoring.guru/ko/design-patterns/state https://refactoring.guru/ko/design-patterns/state/go/example