21. 감시자 패턴(Observer Pattern) 21. 3 디자인 감시자 패턴에 대한 설명을 위한 예제로 사용할 프로그램은 사진을 보정하는 응용을 소재로 하겠습니다. 응용에는 사진 개체를 보정을 하면 이에 대한 색조, 명도, 채도를 나태내는 뷰어로 구성을 하려고 합니다. 만약, 사진 개체의 정보가 변경되면 각 뷰어는 이에 대한 변경 통보를 받아 화면에 변경된 값을 보여줄 것입니다. 만약, 감시자 패턴을 적용하지 않는다면 사진 개체는 각 뷰어에게 변경 통보를 해야 하고 각 뷰어는 이를 화면에 나타내야 하기 때문에 의존 관계에 있게 됩니다. 이 경우에 사진 개체는 다른 뷰어와 결합도가 강해 유연성이 떨어지게 됩니다. 여기에서는 사진과 같이 자신의 상태를 다른 개체에게 통보해야 하는 형식들의 추상 클래스 ..