개발 도서

데코레이터 패턴 객체에 추가 요소를 동적으로 더할 수 있습니다. 데코레이터를 사용하면 서브클래스를 만들 때보다 훨씬 유연하게 기능을 확장할 수 있습니다. 저는 쉽게 접근해 봤는데 데코레이터는 장식하는 사람이라는 뜻을 가지는데, 마치 크리스마스트리에 추가 요소(양말, 종) 등을 장식하여 더 멋진 트리를 만들어주는 즉, 더 좋은 기능이 되도록 만들어 주는 패턴이라고 생각합니다. 데코레이터 패턴 사용 예제 저는 데코레티어 패턴에서 생각나는 주제가 2가지 있었는데 첫 번째는 크리스마스트리였고,두 번째는 피자였습니다. 그래서 예제는 제가 즐겨먹던 피자로 만들어 보겠습니다. public abstract class Pizza { String description = "피자"; public String getDescr..
옵저버 패턴 한 객체(Subject)의 상태가 바뀌면 그 객체에 의존하는 다른 객체(Observer)에게 연락이 가고 자동으로 내용이 갱신되는 방식으로 일대다 의존성을 정의합니다. 일상생활 속 경험을 생각해보면 옷을 사고 나서 옷이 집에 도착하게 되면 보통 문자나 카톡으로 알림을 주는데 이때 집에 있으면 바로 뛰쳐나가 택배를 받아보는 반응을 하는데 이런 상황이 옵저버 패턴과 비슷하다고 생각합니다. 이 외의 생각나는 상황 아침에 기상을 위한 핸드폰의 알람 운동 후 먹는 프로틴 디자인 패턴을 공부하고 블로그에 정리하기 옵저버 패턴의 구조 Observer 인터페이스에는 update()라는 함수가 있다 update()는 이벤트가 발생했을 때 처리할 행위를 정의한다. Subject에는 observerCollect..
오리 시뮬레이션 게임, SimUduck 모든 오리가 꽥꽥 소리를 낼 수 있고(quack()), 헤엄을 칠 수 있으므로(swim()) 오리를 슈퍼 클래스로 작성을 했어요. 오리마다 모양이 다르기 때문에 모양을 나타내는 메소드는 추상 메소드로 만들고 상속받는 클래스에서 오버라이드 하기로 했습니다. 오리 시뮬레이션 게임 차별화하기. 다른 회사보다 차별화를 위해 오리가 날 수 있도록 해야 한다. 가장 간단한 방법으로 Duck에 날 수 있는 메소드만 추가하면 모든 오리가 그걸 상속받기 때문에 Duck에 fly()메소드 추가를 해요. 문제 발생 Duck의 몇몇 서브클래스만 날아야 하는데 날아다니면 안 되는 오리에게도 날아다니는 기능이 추가됐습니다. 슈퍼클래스의 일부만 고쳤는데, 프로그램 전체에 고무오리가 날아다니는..
백수왕
'개발 도서' 카테고리의 글 목록 (2 Page)