Book/객체지향의 사실과 오해8 [책 리뷰] 객체지향의 사실과 오해 책 정보 https://book.naver.com/bookdb/book_detail.nhn?bid=9145968 객체지향의 사실과 오해 : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 서론 나의 첫 회사는 대기업 계열사에 소속된 IT 회사였다 다른 계열사들의 시스템을 유지보수하는 업무를 맡았었는데, 오래 전 만든 시스템을 문제 생기지 않게 보수하고 운영하는 일이었기 때문에 대부분 오래된 소스들이었고 그 안에서도 설계를 포함한 개발을 할 기회는 잘 없었다. 이직 후, 만들어진지 5년도 안된 따끈한 시스템을 맡게 되었고 운영이 아닌 개발 직무를 담당하게 되면서 6년만에 처음으로 (부끄럽게도..) 설계를 포함한 기능 개발을 해보게 되었다. 막상 진짜 설계/개발.. 2023. 1. 2. [정리] 객체지향의 사실과 오해 - 7장 07 / 함께 모으기 마지막장에서는 객체지향 설계를 위한 세 가지 관점을 1장 커피공화국 예제와 함께 설명한다. 사용자 관점에서의 도메인 설계부터 메시지 기반으로 한 인터페이스 설계, 기능 수행을 위한 클래스 구현까지.. 앞서 배워온 개념들을 직접 적용해보고, 예제를 통해 정리해볼 수 있는 챕터이다. 객체 의인화, 메시지 위주의 설계, 책임과 협력, 사용자의 관점에서 본 도메인 모델, 인터페이스와 구현의 분리 등 올바른 객체지향 설계란 무엇이며 내가 이제까지 범해왔던 오류들은 무엇이었는지 예제 풀이 과정을 통해 정리해보자. 커피 전문점 도메인 다시 1장의 커피 공화국으로 얘기로 돌아가서 커피 전문점 도메인을 객체지향 관점에서 설계해보자 커피 전문점 안에는 메뉴판이 존재한다. 손님은 메뉴판에 있는 각 메뉴.. 2023. 1. 1. [정리] 객체지향의 사실과 오해 - 6장 06 / 객체 지도 길을 찾기 위한 두 가지 방법이 있다. 첫 번째는 다른 사람에게 길을 물어보는 것이고, 두 번째는 지도로 지형을 파악한 후 찾아가는 방법이다. 첫 번째 방법은 기능적이고 해결 지향적이다. 반면, 두 번째 방법은 구조적이고 문제 지향적이다. 두 번째 지도를 활용한 방법은 길을 찾기 위한 구체적인 '기능'이 아니라, 길을 찾을 수 있는 '구조'를 제공한다. 6장은 객체 설계를 지도에 빗대어 기능과 구조를 사용한 설계 방법 등에 대해 설명한다. 기능 설계 대 구조 설계 사용자가 원하는 기능을 제공할 수 있다면 설계가 어떠한지는 중요하지 않을 수 있다. 다만, 이 가정은 사용자가 원하는 기능(요구사항)이 바뀌지 않는다는 전제가 필요하다. 요구사항은 끊임없이 변경되기 때문에 이에 빠르게 대응하.. 2022. 12. 31. [정리] 객체지향의 사실과 오해 - 5장 05 / 책임과 메시지 왕이 모자장수에게 증언을 요청했을 때, 필요한 행동들을 좀 더 상세하게 요청했다면 어땠을까? 왕이 모자장수에게 "정확히 묘사하라", "표현은 간결하게 하라" 와 같이 상세하게 요청했다면? 모자장수는 본인이 할 수 있는 최적의 방법으로 증언할 수도 있었겠지만, 왕이 상세한 요청을 주는 바람에 행동에 제약이 생겼을 수도 있다. 5장에서는 디테일한 요청(메시지)은 객체 간 협력에 어떠한 영향을 주는지 객체간 협력을 설계할 때 어떤 것에 초점을 맞춰야 할지 메시지, 인터페이스 등과 연관지어 설명한다. 자율적인 책임 왕이 모자장수에게 증언을 요청했을 때, 필요한 행동들을 좀 더 상세하게 요청했다면 어땠을까? 모자장수는 본인이 할 수 있는 최적의 방법으로 증언할 수도 있었겠지만, 왕이 상세한.. 2022. 12. 30. [정리] 객체지향의 사실과 오해 - 4장 04 / 역할, 책임, 협력 앨리스 왕국에 파이 훔친 범인을 찾기 위한 재판이 벌어진다. 판사 역할의 왕, 법정 안내자 역할의 토끼, 증인 역할의 모자장수. 각 인물들이 재판 과정에서 어떤 역할을 수행하고 협력하는지, 객체지향 세계에서 각 객체들은 또 어떤 협력을 이루고 있는지 설명한다. 협력 앨리스 왕국에 파이 훔친 범인을 찾기 위한 재판이 벌어진다 왕은 토끼에게 목격자를 불러올 것을 요청한다 왕의 요청을 받은 토끼는 응답으로 모자 장수에게 증인석에 입장할 것을 요청한다 토끼의 요청을 받은 모자장수는 응답으로 증인석에 입장한다 왕은 모자 장수에게 증언할 것을 요청한다. 왕의 요청을 받은 모자 장수는 응답으로 알고 있는 내용을 증언한다 재판 과정에서 많은 요청과 응답이 있었다. 재판에 대한 요청을 받은 .. 2022. 12. 29. [정리] 객체지향의 사실과 오해 - 3장 03 / 타입과 추상화 트럼프 왕국에 들어선 앨리스는 스페이스 정원사, 클로버 병사, 하트 여왕을 만나게 된다. 앨리스 눈에 이들은 그저 '트럼프'일 뿐이다. 앨리스가 이들을 '트럼프'라고 분류하기까지 어떤 의식의 흐름이 있었고 이를 객체지향 세계에 대입하였을 때 어떻게 해석될 수 있는지 설명한다. 추상화를 통한 복잡성 극복 지하철 노선도를 사용하는 목적은 무엇일까? 현실을 반영해서 구불구불한 지형, 불규칙적인 역간 거리를 묘사하는게 좋을까 아니면 현실을 추상화하고 역 간의 연결성에 초점을 맞춰 이해하기 편하게 하는게 좋을까 추상화란 현실에서 출발하되 불필요한 부분을 도려내고, 중요한 사물의 본질을 드러나게 하는 과정이다. 추상화를 통해 복잡성을 극복하려면 아래 과정을 거쳐야 한다. 사물들간 공통점은 취.. 2022. 12. 28. [정리] 객체지향의 사실과 오해 - 2장 02 / 이상한 나라의 객체 책에서는 객체 세계를 '이상한 나라의 앨리스' 속 '이상한 나라'에 비유하여 설명하고 있다. 2장에서는 앨리스가 어떤 행동을 취하고 어떤 상태 변화를 겪었는지, 앨리스를 객체에 비유하면 어떻게 해석될 수 있는지에 대해 얘기한다. 이번 장에서는 상태, 행동, 식별자 등 객체 관련 다양한 언어가 등장하는데 따로 정리해두면서 봐도 좋을 듯 하다. 객체지향과 인지 능력 객체지향 패러다임의 목적은 현실 세계를 모방하는 것이 아니라 현실 세계를 기반으로 새로운 세계를 '창조' 하는 것 객체를 자아를 가진 하나의 인격체로 볼 것 (객체의 의인화) ex. 현실에선 전구가 사람에 의해 켜지지만, 객체 세계에서 전구는 스스로 불을 킬 수 있다. 객체, 그리고 이상한 나라 앨리스 객체 이상한 나.. 2022. 12. 27. [정리] 객체지향의 사실과 오해 - 1장 01 / 협력하는 객체들의 공동체 이 책은 책 처음부터 끝까지 우리가 객체지향에 대해 어떻게 잘못알고 있는지, 실제 객체지향의 세계는 어떤 것이며 그 세계를 이해하기 위한 개념들 설명하고 있다. 1장은 이 서사를 풀기 위해 기본적으로 알고 있어야 할 개념들, 객체란 무엇이고 우리가 어떻게 오해하고 있었으며 객체 세계에서 협력과 책임이란 무엇인지를 말한다. 도입 객체지향 목표에 대한 오해 객체지향의 목표 실세계를 모방하는 것 (X) 사용자를 만족시킬 새로운 객체 세계를 창조하는 것 (O) 실세계 객체와 객체지향 객체는 다를 수 있다. 그럼에도 실세계에 대입하여 비유하는 이유는 객체의 상태와 행위를 설명하기 효과적이기 때문 객체의 상태 : 객체의 캡슐화, 자율성 객체의 관계 : '메시지'를 주고받으며 '협력.. 2022. 12. 26. 이전 1 다음