객체지향의 사실과 오해
Written on 블로그 포스트 이력을 보면 알겠지만, 난 요즘 클린코드의 매력의 매료되었다.
깔끔하고 직관적인 코드는 버그가 숨지 못 하고 좀 더 나은 소프트웨어를 만든다 생각한다.
포로그래머라면 한번 쯤 절차지향이란 무엇인가에 대해 고뇌아닌 고뇌를 해 봤을 것 이다.
이 책은 원론적면서도 다소 위험한 질문에 답하기 위해 쓰여진 책이다.
본 책에서의 핵심
- 객체지향의 핵심은 역할, 책임, 협력이다.
- 객체지향 설계의 목표는 자율적인 객체들의 협력 공동체를 만드는 것이다.
- 객체지향은 클래스를 지향하는 것이 아니라 객체를 지향하는 것이다. 클래스는 단지 구현 메커니즘일 뿐이다.
- 자율적인 책임이 자율적인 객체와 유연한 설계를 낳는다.
- 객체지향은 안정적인 도메인 구조에 불안정한 기능을 통합한 것이다.
- 객체가 메시지를 선택하는 것이 아니라 메시지가 객체를 선택하게 해야 한다.
참고