책/객체지향의 사실과 오해
-
ch3. 타입과 추상화책/객체지향의 사실과 오해 2022. 3. 2. 03:58
객체지향의 사실과 오해 3장 타입과 추상화 (p.72 ~ 105) 선요약 시간에 따라 상태가 동적으로 변하는 객체를 정적으로 추상화 한것이 타입이다. 객체는 행동에 따라 동일한 타입으로 분류될 수 있다. 동일한 타입의 객체가 무엇인지 행동에 따라 분류하기 위해선 1. 외부에 제공해야 하는 행동(책임)을 먼저 결정하고, 2. 책임을 수행하는데 필요한 적절한 데이터를 결정해야 한다. 객체와 타입 객체를 분류하고 이름을 붙이는 것은 새로운 타입을 선언하는 것과 같다. 객체가 어떤 타입에 속하는지 결정하는 것은 "객체가 수행하는 행동"이다. 같은 타입에 속한 객체는 행동만 동일하면 서로 다른 데이터를 가질 수 있다. (동일한 행동이란 동일한 책임을 의미하며, 동일한 책임이란 동일한 메시지 수신을 의미한다.) 따..
-
2. 이상한 나라의 객체책/객체지향의 사실과 오해 2022. 2. 22. 11:13
선요약 행동이 상태를 결정(객체를 바라볼때 상태가 아닌 행동에 초점을 맞추자) 객체지향은 현실 세계의 모방이 아닌 은유 (현실의 수동적인 객체는 소프트웨어에서 능동적인 객체로 변함. 객체를 의인화해서 소프트웨어 세상에 녹여내자) 객체지향의 사실과 오해 ch2. 이상한 나라의 객체(p39-71) 객체는 상태를 가진다. 상태를 이용하면 과거의 여러 행동을 고려하지 않고 결과를 알 수 있다. (ex. 몸무게가 밥을 먹어 10kg 늘었다, 운동을 해서 -5kg 빠졌다..... 와 같은 과거 행동을 추적하지 않고 몸무게라는 상태를 보고 현재 몸무게를 알 수 있음) 상태는 단순한 값(ex. 키, 몸무게)와 객체(ex. 음료수)의 조합이다. 객체의 상태를 변경하는 것은 객체의 행동이다. 객체의 행동은 상태에 영향을 ..
-
01. 협력하는 객체들의 공동체책/객체지향의 사실과 오해 2022. 2. 13. 14:01
객체지향의 사실과 오해 - 1장 Summary 객체지향에서 가장 중요한 개념은 "역할, 책임, 협력"이다. 어플리케이션의 기능은 객체들의 협력으로 구현된다. 객체는 역할을 가지는데, 한 객체가 여러 역할을 가질수도 있고, 동일한 역할을 여러 객체가 맡을 수도 있다. 역할은 관련된 책임의 집합이다. 객체는 책임을 수행하며, 수행하는 방법은 객체가 자율적으로 선택할 수 있다. 협력은 이런 객체들이 서로 요청을 보내고 응답하며 이루어진다. 이런 과정속에서 객체는 두 가지 덕목을 갖춰야 한다. 첫번째는 객체는 충분히 협력적이여야 한다. 하나의 객체가 모든 일을 수행할 수 없기 때문에 객체는 반드시 협력해야 하고 따라서 협력적이여야 한다. 두번째는 객체는 충분히 자율적이여야 한다. 자율적이라는 의미는 "자기 스스..