상태 패턴 객체 내부 상태 변경에 따라 객체의 행동이 달라지는 패턴 상태에 특화된 행동들을 분리해 낼 수 있으며, 새로운 행동을 추가하더라도 다른 행동에 영향을 주지 않는다. 예로 티비가 켜져있다면 음량버튼을 누르면 음량이 증가하거나 감소한다. 하지만 티비의 전원버튼을 끈다면 음량버튼을 아무리 눌러도 티비의 음량은 바뀌지 않는다. 즉, 티비 전원의 상태에 (리모컨의 상태) 따라 행동이 바뀌는 것이다. 상태 패턴 적용 전 온라인 강의가 있고 이것을 학생들이 수강할 수 있다고 하자. 온라인 강의에 학생을 추가하거나 리뷰를 달 수 있는데 이 때 온라인 강의 상태에 따라 학생 추가와 리뷰 등록이 다르게 작동한다. Client public class Client { public static void main(S..