
옵저버 패턴 Observer Pattern
- 한 객체의 상태가 바뀌면, 그 객체에 의존하는 다른 객체에게 연락이 가고, 자동으로 내용이 갱신되는 방식.
- 일대다(one to many) 의존성을 정의함.
패턴 이해하기
신문사 구독 예시
- 신문사가 사업을 시작하고 신문을 찍어낸다.
- 독자가 특정 신문사에 구독 신청 시, 해지하기 전까지 새로운 신문이 나올 때마다 배달을 받을 수 있다.
- 신문을 더 이상 보고 싶지 않으면 구독 해지 신청을 한다.
- 신문사가 망하지 않는 이상 개인, 호텔, 항공사 및 기타 회사는 꾸준히 신문을 구독 및 해지한다.
옵저버 패턴 = 신문사(주제) + 구독자(옵저버)

- 주제 객체에서 데이터를 관리
- 옵저버 객체들은 주제를 구독 중(= 주제 객체에 등록되어있음)
- 주제 데이터가 바뀌면 새로운 데이터 값이 옵저버에게 전달
- 옵저버가 아닌 객체는 주제 데이터가 바뀌어도 아무 연락도 못 받음
- 옵저버는 누군가의 주제가 될 수도 있음