개발자라면 객체지향은 정말 중요하다.
나도 개발을 하고있지만 객체지향을 정말 잘 알고있다? 흠....
백엔드 개발을 하면서 객체지향을 좀 뚜렷하게 알고싶어서 이 책을 샀다. 산지 벌써 한 2년된거 같다.
나는 정말 책을 극혐한다..하지만 이제 책좀 읽어보고 블로그도 동시해 해보려고 글을 쓴다.
조영호 지음
이론 보다는 실무가 먼저다.
제대로 동작
변경을 위해 존재
코드를 읽는 사람과 의사소통
객체지향 설계는 서로 의존하면서 협력하는 객체들의 공동체를 구축하는 것이다.
따라서 우리의 목표는 애플리케이션의 기능을 구현하는데 필요한 최소한의 의존성만 유지하고 불필요한
의존성을 제거하는 것이다.
의존성이 과한 경우를 가리켜 결합도(coupling)가 높다 라고 말한다.
개념적이나 물리적으로 객체 내부의 세부적인 사항을 감추는 것을 캡슐화(encapsulation)라고 한다.
밀접하게 연관된 작업만을 수행하고 연관성 없는 작업은 다른 객체에게 위임하는 객체를 가리켜 응집도(cohension)가 높다라고 말한다.
절차적 프로그래밍 - 프로세스와 데이터를 별도의 모듈에 위치시키는 방식 - 전형적인 의존성코드 (BAD)
나쁜이유 - 데이터의 의존해야 한다는 근복적인 문제점 때문에 변경에 취약
객체가 어떤 데이터를 가지느냐보다는 객체에 어떤 책임을 할당할 것이냐에 초점을 맞춰야한다.