옵서버 패턴 : 데이터의 변경 발생했을 때 상대 클래스/객체에 의존 하지 않고 데이터 변경을 통보하고자 할 때 유용함. ▶ 예로, 차량의 연료가 소진될 때 까지 주행 가능 거리 출력하는 클래스, 연료량 부족 경고 메시지 보내는 클래스 등에 연료량의 변화를 통보하는 경우가 있는데, 이럴 때 연료량 클래스는 연료량에 관심 갖는 구체적 클래스(주행 가능 거리 출력, 연료량 부족 경고, 주변 주유소 검색)에 직접 의존하지 않는 방식으로 설계하는 것이 바람직! 옵서버 패턴은 통보 대상 객체의 관리를 Subject 클래스와 Observer인터페이스로 일반화함 ▷ 데이터 변경을 통보하는 클래스(ConcreteSubject)는 통보 대상 클래스/객체(ConcreteObserver)에 대한 의존성 없앨 수 O ▷ 옵서버..