1. 객체지향: 자율적인 객체들의 공동체로 시스템을 분할하는 것.
2. 객체:상태(프로퍼티)와 행위를 가지고 있다.
3. 행위는 객체의 상태를 변경시킨다. 또한 객체의 행동은 상태에 영향받는다.
4. 객체는 시스템의 행위를 구현하기 위해 다른 객체와 협력한다. 각자의 객체는 역할을 수행하며 역할은 관련된 책임의 집합이다.
5. 객체는 다른 객체와 메시지를 통해서만 소통한다. 메시지를 수신한 객체는 메시지를 처리하는 데 적합한 메서드를 자발적으로 선택한다.
6. 캡슐화는 객체가 외부에 노출하는 것은 행동뿐 상태는 알 수 없는 것을 의미한다. 캡슐화는 객체의 자율성을 높인다.
7. 객체지향 설계 시 상태보다 행동을 우선 결정해야한다. 즉, 객체가 외부에 제공해야 하는 행동을 먼저 생각해야한다. 행동과 협력을 먼저 생각하면 자연스럽게 상태는 결정된다.
8. 책임은 '어떻게'가 아니라 '무엇을'에 초점을 둬야한다. '메시지'가 수신자의 책임을 결정한다.
9. 객체지향 설계의 핵심은 책임의 자율성이다. 이는 객체들의 유연한 설계를 가능하게 해준다.
10. 다형성이란 서로 다른 유형의 객체가 동일한 메시지에 대해 서로 다르게 반응하는 것을 의미한다.
'개발 관련 도서' 카테고리의 다른 글
모던자바스크립트 - 함수와 일급 객체 (2) | 2024.05.06 |
---|---|
모던 자바스크립트 - let, const 키워드와 블록 레벨 스코프 (0) | 2024.05.01 |
모던자바스크립트 - 함수 (0) | 2024.04.22 |
모던 자바스크립트 - 타입 변환과 단축 평가 (0) | 2024.04.16 |
모던 자바스크립트 - 제어문 (1) | 2024.04.15 |