승돌 쓰다
중요한 내용
협력, 책임, 역할 이 세가지에 대한 비유라는 껍질에서 실질적인 내용을 자기 만의 언어로 바꿔 학습하기.
배운 내용
1. 협력
2. 책임
3. 역할
이 책의 진짜 장점은 처음에는 앨리스의 비유를 통해 객체를 설명하지만, 가면 갈 수록 우리가 이해했던 객체지향에 대한 지식을 깨부순다고 생각한다. (느낀바가 그렇다..)
물론, 객체지향에 대해 정말 잘 아는 사람이라면야 이 책을 고를 필요가 없다고 생각한다.
어쨌거나 이 책은 객체의 3가지 협력, 책임, 역할들에 대해서 말하고 끝이 난다. 사실 이 세가지를 완벽하게 이해했다고 할 수 있을지는 모르겠다. 이제 한 번 읽었을 뿐이다..
이런 류의 책은 읽을 수록 그 느낌이 배가 된다.
그래서 이제 1독했으니 역할, 책임, 협력에 대해 많이 얻었다고는 못하겠으니 다시 읽어 보아야 겠다.
우선 가장 놀란 점은 객체지향 클래스에서 중요한 것은 속성이 아닌 `행동`이라는 사실이었다.
우리는 아니..나는 본래 속성부터 정의를 했으나 이는 잘못된 습관이었고...(그래서 수정이 많았다지...)
무엇이든 행위가 가장 중요하다는 것이다.
사실 이 책을 읽고 채수원님께서 쓰셨던 테스트 주도 개발 관련 서적을 보았는데 객체를 만들 때 중요한 것은 행동이라고 말씀하셨다.
결국 두 책 모두 하나의 지향점을 가르키고 있었고, 다른 OOP 개발 서적에서는 이런 이야기를 왜 못하는지 난 사기 당한 것 같았다.
결국, OOP의 주된 관점은 행동이며, 행동간의 협력, 클래스 마다의 책임과 역할이 있다는 것으로 이어질 수 있다.
이 책을 읽으면서 느낀점은 객체는 결국, 행위의 집합이라는 것인가..? 라는 의문점을 알게 되었다.
결국 내가 만들어야 할 것은 행위이지, 단순한 속성이 아니였다는 사실이었고,
나는 무지하게도 속성에 주된 관심사를 맞추었다.
물론, 내가 아직 이 책의 진정한 의미를 헤아리지 못하고 있는 것일지도 모른다는 생각을 했다.
가지고 다니면서 계속 2번, 3번은 읽어야 할 책이라고 생각한다.
저는 이제 시작 하는 초급일뿐, 지식도 지혜도 없다.
하지만, 개발자의 운명은 '학습' + '앉아서 키보드에 손 대는 시간'으로 만들어진다고 믿는다.
앞으로 나아가 보자.