내용 59pg, 객체는 식별자를 가지고 있고 값은 가지고 있지 않지만, 프로그래밍 언어의 관점에서 숫자도 Interger 클래스로부터 생성된 객체이다. 이런 오해의 소지를 줄이기 위해 값 객체(value object)라는 식별자를 가지지 않는 값을 가리키는 별도의 용어를 사용하기도 한다. 60pg, 일반적으로 객체의 상태를 조회하는 작업을 쿼리(query)라고 하고 객체의 상태를 변경하는 작업을 명령(command)이라고 한다. 객체가 외부에 제공하는 행동의 대부분은 쿼리와 명령으로 구성된다. 62pg, 버튼 이외의 다른 방법으로는 기계를 사용할 수 없다. 기계를 직접 열어 내부의 상태에 접근하려고 하지 않는다. 이것은 객체에 접근할 수 있는 유일한 방법은 객체가 제공하는 행동뿐이라는 점을 강조한다. 즉..
내용 41pg, 객체란 인간이 분명하게 인지하고 구별할 수 있는 물리적인 또는 개념적인 경계를 지닌 어떤 것이다. 48pg, 상태를 이용하면 과거의 모든 행동 이력을 설명하지 않고도 행동의 결과를 쉽게 예측하고 설명할 수 있다. 50pg, 결론적으로 모든 객체의 상태는 단순한 값과 객체의 조합으로 표현할 수 있다. 이때 객체의 상태를 구성하는 모든 특징을 통틀어 객체의 프로퍼티(property)라고 한다. 앨리스의 경우 키, 위치, 음료가 앨리스의 프로퍼티가 된다. 51pg, 객체와 객체 사이의 의미있는 연결을 링크(link)라고 한다. 객체와 객체 사이에는 링크가 존재해야만 요청을 보내고 받을 수 있다. 즉, 객체의 링크를 통해서만 메세지를 주고받을 수 있다. 링크는 객체가 다른 객체를 참조할 수 있다..
개요 이 책이 개발자들 사이에서 추천이 많이 되는 책 중 하나라고 한다. 최근에 당장 기술 한 두개 더 써보는 것보다 기본 지식을 잘 쌓고 넘어가는 게 더 중요하다고 느꼈다. 그래서 스터디원들하고 이 책을 같이 읽고 서로 나눠보고 싶은 얘기가 있으면 토론을 해보기로 했다. 내용 21pg, 객체지향의 목표는 실세계를 모방하는 것이 아니다. 오히려 새로운 세계를 창조해내는 것이다. 25pg, 객체지향에서 가장 중요한 개념 세 가지는 바로 역할, 책임, 협력이다. 28pg, 동일한 요청에 대해 서로 다른 방식으로 응답할 수 있는 능력을 다형성이라고 한다. 29pg, 협력의 핵심은 특정한 책임을 수행하는 역할들 간의 연쇄적인 요청과 응답을 통해 목표를 달성한다는 것이다. 30pg, 객체지향 설계라는 예술은 적절..