목록CS 지식/객체지향 (22)
Taking baby-developer steps
이번 장은 "이상한 나라의 앨리스"이야기의 한 부분을 인용해, 해당 부분에서 "앨리스"라는 객체가 지닌 "상태"와 "행동"이 어떻게 연관되어있고 의존적인지를 이해시켜준다. 이 앨리스 비유에서 가지는 앨리스의 특징은 다음과 같다. 앨리스는 상태(키 120cm)를 가지며 상태는 변경 가능하다. 앨리스의 상태를 변경시키는 것은 앨리스의 행동이다.(이야기 속 버섯 베어물기, 물마시기, 케이크 먹기) 행동의 결과(물마시기)는 상태에 의존적(원래 키(120이라는 상태)에서 0.5배가 된다)이며 상태를 이용해 서술할 수 있다. 행동의 순서가 결과에 영향을 미친다.(앨리스가 여러가지의 문을 거쳐서 정원에 도착하는데, 각 문의 크기가 제각각이라 각 문의 크기에 알맞은 상태가 되려면 행동의 순서가 중요하다) 앨리스는 어떤..
시너지를 생각하라. 전체는 부분의 합보다 크다 -스티븐 코비- 객체지향의 목표는 실세계를 모방하는 것이 아니다. 오히려 새로운 세계를 창조하는 것이다. 객체 지향을 설명할 때 "객체"를 현실 세계의 "사물"로 표현하는 것을 많이 보아왔다. 이는 설계 및 구현하는 실무적인 관점에서는 딱 맞는 표현은 아니지만, 초심자들이 기본 사상을 이해하고 학습하기에는 효과적이다. 책의 초반 부에서는 이 전통적인 관점, "객체지향은 실세계를 모방한다"라는 관점을 빌려 객체지향의 세계를 이해시킨다. 먼저, 객체지향에서 가장 중요한 개념 세가지는 역할, 책임, 협력이다. 협력은 요청과 응답으로 이루어져있다. 문제를 해결할때 다수의 역할이 필요하기 때문에, 하나의 요청이 또 다른 대상에게로 요청을 유발한다. 따라서 요청은 연쇄..