1. 상태패턴이란? 상태를 객체화하여 필요에 따라 다르게 행동하도록 위임하는 디자인 패턴이다. 즉, 객체의 내부 상태가 바뀜에 따라 객체의 행동을 바꿀 수 있다. 객체의 특정 상태 = 클래스 상태에 따른 행위 = 클래스 내의 메서드 ex) 뽑기 기계를 코드로 구현할 때 각각 알맹이 매진, 동전 없음, 동전 있음, 알맹이 판매 4가지의 상태가 있다. 4가지의 상태 클래스를 인터페이스로 캡슐화 시킨다. 2. 상태패턴을 사용하는 이유 뽑기 예제를 예시로 들어보자. 아래 코드와 같이 구현하면, 새로운 추가 요청 사항이 생긴다면 모든 메서드에 조건문을 추가해줘야 한다. 따라서 상태패턴을 "확장성"을 더욱 용이하기 위해 사용한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19..