티스토리 뷰
학부 과정에서 구조적 프로그래밍과 객체지향 프로그래밍의 차이를 배우고,
객체지향은 다형성 등의 성질을 가지며 객체간의 낮은 결합도를 가지고 있으므로 유지보수와 협업, 그리고 개발에 용이하다..
라는 말들을 듣게 됩니다. 그런데 이런 생각들 한번쯤은 해보셨을 거에요.
그래서, 객체지향이 좋은건 알겠는데. 어떻게 쓰라는거지?
또한 디자인 패턴 수업을 들으며 이 또한 객체지향의 고수들이 자주 사용되는 형태들을 정리한 것이므로 객체지향의 고수라면 패턴을 써야 한다. 라고들 하는데,, 실제로 적용해보려면 오히려 패턴에 얽매여 설계 진행은 안되고, 그러다가 그냥 마구잡이로 개발하게 되는 경험을 하게 됩니다.
이 책에서는 두 가지 고민의 해답을 완전히 제시해주지는 못하지만, 방향은 제시해 줍니다. 객체지향의 기초 원칙인 '조금만 알기'와 '공통점 묶기'에 입각해서 객체지향을 설명합니다. 또한 패턴은 수단일 뿐이지 목적이 되서는 안된다는 것을 강조하며 이 원칙을 통해 패턴들이 쓰이는 이유를 자연스럽게 설명합니다.
결국 객체지향은 좋은 도구이기에, 도구를 사용하는 사람이 잘 써야 그 철학을 반영시킬 수 있는 거겠죠. 지속적인 수련만이 우리를 객체지향의 고수로 만들어 줄 것입니다.
이 책은 C++ 코드를 기반으로 설명되어 있으나, 볼만 합니다. 객체지향의 기본적 개념을 이론적으로 공부하였지만 어떻게 써야할지 모르는 대학생이나 초급 개발자가 보면 좋을 것 같습니다.
'리뷰' 카테고리의 다른 글
시골의사 박경철의 <자기혁명> (0) | 2012.05.15 |
---|---|
조엘 온 소프트웨어 : 유쾌한 오프라인 블로그 (0) | 2012.01.25 |
<웹을 지탱하는 기술> (0) | 2012.01.03 |
<거의 모든 IT의 역사>를 읽고 (0) | 2011.09.19 |
이기는 자가 미래다 <플랫폼 전쟁> (0) | 2011.09.12 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 데이터 과학
- 운영체제
- Algorithms
- 리눅스
- 카타르
- Machine Learning
- 개발
- 안드로이드
- 리버스엔지니어링
- 데이터 사이언스
- 대학원
- java
- 통계학습
- 카타르 음주
- android
- 기계학습
- operating systems
- statistical learning
- linux
- 자바
- reversing
- Discrete Mathematics
- 알고리즘
- 머신러닝
- Data Science
- 이산수학
- 리버싱
- 자료구조
- Data Structure
- Reverse Engineering
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함