목록개발서적/헤드퍼스트 디자인패턴 (12)
SW
1. 기상 모니터링 애플리케이션 알아보기기상 스테이션 : 실제 기상 정보를 수집하는 물리 장비WeatherData 객체 : 기상 스테이션으로부터 오는 정보를 추적하는 객체디스플레이 장비 : 사용자에게 현재 기상 조건을 보여주는 장비 WeatherData 객체로 현재 조건, 기상 통계, 기상 예보, 이렇게 3가지 항목을 디스플레이 장비에서 갱신해 가면서 보여 주는 애플리케이션을 만들어야 합니다. 2. WeatherData 클래스 살펴보기기상 스테이션에서 갱신된 데이터를 가져오는 일은 WeatherData 객체가 알아서 해줍니다.WeatherData에서 갱신된 값을 가져올 때마다 measurementChanged() 메소드가 호출됩니다. /* * 기상 관측값이 * 갱신될 때마다 * 이 메소드가 호출됩니다. ..
1. 오리 시뮬레이션 게임, SimUduck모든 오리는 꽥(quack) 소리를 낼 수 있고, 헤엄(swim)을 칠 수 있으므로 quack, swim 메소드는 슈퍼클래스로 작성합니다.모든 오리의 모양이 다르므로 display 메소드는 추상 메서드로 작성하고, 오버라이드 합니다. 2. 상속을 생각하기일부 오리가 하늘을 날아야 하는 기능을 추가해달라는 요청이 들어왔습니다.슈퍼클래스인 Duck에 fly를 추가해봅니다. 그럼 모든 오리는 날게 됩니다.날지 못하는 고무오리(RubberDuck)도 날게 되는 오류가 발생합니다. 위 그림처럼 RubberDuck이 날지 못하도록 fly에서 아무 동작 없이 오버라이딩을 해봅니다. 일단 해결은 되겠죠.그러나, 만약 날지못하는 여러 오리가 추가된다면 일일이 fly에서 아무 ..