도서 3

객체지향의 사실과 오해 3장 요약

추상화어떤 양상, 세부 사항, 구조를 좀더 명확하게 이해하기 위해 특정 절차나 물체를 의도적으로 생략하거나 감춤으로써 복잡도를 극복하는 방법이다. 복잡성을 다루기 위해 추상화는 두 차원에서 이뤄진다.첫 번째 차원은 구체적인 사물들 간의 공통점은 취하고 차이점은 버리는 일반화를 통해 단순하게 만드는 것두 번째 차원은 중요한 부분을 강조하기 위해 불필요한 세부 사항을 제거함으로써 단순하게 만드는 것모든 경우에는 추상화의 목적은 복잡성을 이해하기 쉬운 수준으로 단순화하는 것이라는 점을 기억해야 한다. 개념공통점을 기반으로 객체들을 묶기 위한 그릇을 개념이라고 한다. 개념이란 일번적으로 우리가 인식하고 있는 다양한 사물이나 객체에 적용할 수 있는 아이디어나 관념을 뜻한다.이런 개념을 이용하면 객체를 여러 그룹으..

객체지향의 사실과 오해 2장 요약

객체, 그리고 소프트웨어 나라객체란 식별 가능한 개체 또는 사물이다. 객체는 만질수 있는 구체적인 사물일 수 있고, 시간처럼 추상적인 개념일 수도 있다. 객체는 구별이 가능한 식별자, 특징적인 행동, 변경이 가능한 상태를 가지고 소프트웨어 안에서 저장된 상태와 실행 가능한 코드를 통해 구현된다. 상태가 왜 필요한가? 객체가 주변 환경과의 상호작용에 어떻게 반응하는가는 그 시점까지 객체에 어떤 일이 발생 했느냐에 좌우된다.예를 들어 여행을 가기위해 비행기를 타려면 탑승전 항공권을 발권해야한다. 이때 발권해놨다면 비행기 좌석에 앉아 출발하지만 발권을 하지 않았다면 비행기를 탈수없듯 이런 발권을 했냐 안했냐의 과거의 행동이 비행기 탑승여부에 영향을 주는것이다.상태를 이용하면 과거의 모든 행동이력을 설명하지 않..

객체지향의 사실과 오해 1장 요약

지금까지 프로젝트를 진행해오면서 관련 개념과 지식이 부족하다고 많이 느끼게되었다. 관련 서적을 읽어가며 되돌아보는 시간을 갖기로 했다.그 첫번째로는 객체지향의 사실과 오해 를 읽고 정리해보고자 한다. 1장 협력하는 객체들 (e.g 커피와 바리스타)우리가 실생활에서 커피를 마식 위해 커피전문점을 방문하여 커피를 주문하는 과정을 살펴보자.우선 커피를 주문(Req)을 캐시어에게 하고 캐시어는 이 주문을 다시 바리스타에게 요청하여 바리스타가 커피를 만들고 캐시어에게 전달이후 다시 캐시어가 주문자에게 전달하며 커피를 받는다.이때 손님이 캐시어에게 또는 캐시어가 바리스타에게 요청을 보내는것을 Request라하고 그 Request에 응답하는것을 Response라 한다. (영문 단어뜻 그대로임)이러한 요청과 응답을 통..