객체지향의 사실과 오해 (역할, 책임, 협력 관점에서 본 객체지향)조영호객체지향에 대한 선입견을 버려라!『객체지향의 사실과 오해』는 객체지향이란 무엇인가라는 원론적면서도 다소 위험한 질문에 답하기 위해 쓰여진 책이다. 안타깝게도 많은 사람들이 객체지향의 본질을 오해하고 있다. 가장 널리 퍼져있는 오해는 클래스가 객체지향 프로그래밍의 중심이라는 것이다.... 이 책 구매하기이 책을 읽은 사람들프론트엔드 엔지니어서비스 기획자(이)가 주로 이 책을 읽었어요.이 책에 남긴 코멘트9개프론트엔드 엔지니어 7설계 7프로그래밍 4IT 2IT 개발 기술 2디자인 기술 1프로그래밍 언어 1서비스 기획자 1코드 없이 설명하는 객체지향프론트엔드 엔지니어프로그래밍설계IT 개발 기술세븐스미스트백엔드 개발자@한국공간데이터거의 3년도움됐어요프론트엔드 엔지니어설계Yeseo Lee프론트엔드 엔지니어@마플코퍼레이션거 의 3년도움됐어요객체지향은 끊임 없이 변화하는 요구에 대응하기 위한 패러다임이다. 객체지향은 개발 분야에 상관 없이 널리 쓰이고 있지만 객체지향의 본질에 대답하기란 정말 어려운 일이다. 이 책은 그러한 본질에 다가갈 수 있는 이정표를 제시하고 있다. 이상한 나라의 앨리스 세계를 객체지향의 관점에서 바라보면서 객체지향에 대한 이해를 높일 수 있는 채이다. 이름만 봤을 때는 개발 서적으로 생각할 수 있지만 코드의 비중이 낮기 때문에 개발에 관심이 많은 비개발자나 초보 개발자도 무리 없이 읽을 수 있는 책이다.프론트엔드 엔지니어IT설계Mx.프론트엔드 엔지니어@카카오약 3년도움됐어요OOP를 제대로 공부할 수 있게 방향을 제시해줍니다. 개념적인 부분이 많고, 설명이 좀 중언부언하는 부분이 있지만, OOP에 대한 이해가 낮을때 읽으면 도움이 될거라 생각합니다. 같은 저자 분이 쓰신 '오브젝트'를 보는게 더 좋겠지만, 얇기도 하고 입문용으로 보기 좋은 것 같습니다.프론트엔드 엔지니어프로그래밍설계유근수프론트엔드 엔지니어@트리플나인테크놀로지약 3년도움됐어요백엔드 개발자 추천 도서 프론트엔드 엔지니어프로그래밍 언어수면비법프론트엔드 엔지니어3년 이상도움됐어요서비스 기획자설계디자인 기술IT 개발 기술Sonu Jung프로덕트 디자이너@식스샵3년 이상도움됐어요프론트엔드 엔지니어설계프로그래밍luv kkim프론트엔드 엔지니어3년 이상도움됐어요전설의 토끼책... 주니어분들께서 객체지향에 대해 공부하고 싶다 말씀하시면 늘 추천해드리는 책이다. 얇지만 기본적인 개념들에 대해 충실하게 설명하고 본질에 대해 고찰해볼 수 있는 책이었던 걸로 기억한다. 앨리스와 토끼 이야기를 예시로 들며 기가막히게 역할, 책임, 위임 등에 대한 설명을 이끌어간다. 이런 기본개념서는 주기적으로 읽을 필요가 있다! 그러고보 니 나도 읽은지 넘 오래되었다. 조만간 다시 읽어봐야겠다 :-) 프론트엔드 엔지니어프로그래밍설계IT김예나CTO약 4년도움됐어요41. 전반적으로 읽기 쉬운 교양서 느낌이나, 내용이 알차고 도움된다. 객체지향 관점에서 책임, 메세지 중심으로 설계해야한다는 것을 알게되었음. 2. 소프트웨어 세상에서의 `객체`란 현실 반영/ 투영이라기 보다 메타포에 가깝다. 3. 소프트웨어는 유저에게 문제 해결을 위한 특정 기능을 제공하기 위해 있는 것이고, 그 기능은 변하기 마련이다. 소프트웨어 개발자로서 변화에 유연한 프로그램을 설계하는 것에 집중해야 하며, 그러한 설계의 핵심은 `도메인 모델`에 기반하여 객체간 관계를 맺는 것이다. 4. `유즈케이스`는 사용자의 기능 시나리오이며, 불안정하고 변하기 쉽다. 5.프로그램을 설계할때는 `협력` 중심으로 설계해야 한다. 6. 추상화 & 모델링을 통해 불확실성을 단순화하면 game rule이 보인다. 추상화의 목적은 불필요한 부분을 무시함으로써 현실에 존재하는 복잡성을 극복하는 것이다. 추상화는 현실을 단순화하기 위해 사용하는 인간의 가장 기본적인 인지수단이다. 7. 복잡성을 다루기 위한 추상화는 두 차원에서 이뤄진다. - 구체적인 사물들간의 공통점은 취하고, 차이점은 버리는 일반화 - 중요한 부분을 강조하기 위해 불필요한 세부사항을 제거 8. 도메인 모델은 사용자가 프로그램을 사용하는 대상 영역에 관한 지식을 선택적으로 단순화하고 의식적으로 구조화한 형태이다. 9. 구조는 사용자나 이해관계자들이 domain에 관해 생각하는 개념과 개념 간의 관계를 표현한다. 10. 기능은 사용자의 목표를 만족시키기 위해 책임을 수행하는 시스템의 행위이다. 최민석프론트엔드 엔지니어@뱅샐4년 이상도움됐어요2
객체지향은 끊임 없이 변화하는 요구에 대응하기 위한 패러다임이다. 객체지향은 개발 분야에 상관 없이 널리 쓰이고 있지만 객체지향의 본질에 대답하기란 정말 어려운 일이다. 이 책은 그러한 본질에 다가갈 수 있는 이정표를 제시하고 있다. 이상한 나라의 앨리스 세계를 객체지향의 관점에서 바라보면서 객체지향에 대한 이해를 높일 수 있는 채이다. 이름만 봤을 때는 개발 서적으로 생각할 수 있지만 코드의 비중이 낮기 때문에 개발에 관심이 많은 비개발자나 초보 개발자도 무리 없이 읽을 수 있는 책이다.프론트엔드 엔지니어IT설계Mx.프론트엔드 엔지니어@카카오약 3년도움됐어요
OOP를 제대로 공부할 수 있게 방향을 제시해줍니다. 개념적인 부분이 많고, 설명이 좀 중언부언하는 부분이 있지만, OOP에 대한 이해가 낮을때 읽으면 도움이 될거라 생각합니다. 같은 저자 분이 쓰신 '오브젝트'를 보는게 더 좋겠지만, 얇기도 하고 입문용으로 보기 좋은 것 같습니다.프론트엔드 엔지니어프로그래밍설계유근수프론트엔드 엔지니어@트리플나인테크놀로지약 3년도움됐어요
전설의 토끼책... 주니어분들께서 객체지향에 대해 공부하고 싶다 말씀하시면 늘 추천해드리는 책이다. 얇지만 기본적인 개념들에 대해 충실하게 설명하고 본질에 대해 고찰해볼 수 있는 책이었던 걸로 기억한다. 앨리스와 토끼 이야기를 예시로 들며 기가막히게 역할, 책임, 위임 등에 대한 설명을 이끌어간다. 이런 기본개념서는 주기적으로 읽을 필요가 있다! 그러고보 니 나도 읽은지 넘 오래되었다. 조만간 다시 읽어봐야겠다 :-) 프론트엔드 엔지니어프로그래밍설계IT김예나CTO약 4년도움됐어요4
1. 전반적으로 읽기 쉬운 교양서 느낌이나, 내용이 알차고 도움된다. 객체지향 관점에서 책임, 메세지 중심으로 설계해야한다는 것을 알게되었음. 2. 소프트웨어 세상에서의 `객체`란 현실 반영/ 투영이라기 보다 메타포에 가깝다. 3. 소프트웨어는 유저에게 문제 해결을 위한 특정 기능을 제공하기 위해 있는 것이고, 그 기능은 변하기 마련이다. 소프트웨어 개발자로서 변화에 유연한 프로그램을 설계하는 것에 집중해야 하며, 그러한 설계의 핵심은 `도메인 모델`에 기반하여 객체간 관계를 맺는 것이다. 4. `유즈케이스`는 사용자의 기능 시나리오이며, 불안정하고 변하기 쉽다. 5.프로그램을 설계할때는 `협력` 중심으로 설계해야 한다. 6. 추상화 & 모델링을 통해 불확실성을 단순화하면 game rule이 보인다. 추상화의 목적은 불필요한 부분을 무시함으로써 현실에 존재하는 복잡성을 극복하는 것이다. 추상화는 현실을 단순화하기 위해 사용하는 인간의 가장 기본적인 인지수단이다. 7. 복잡성을 다루기 위한 추상화는 두 차원에서 이뤄진다. - 구체적인 사물들간의 공통점은 취하고, 차이점은 버리는 일반화 - 중요한 부분을 강조하기 위해 불필요한 세부사항을 제거 8. 도메인 모델은 사용자가 프로그램을 사용하는 대상 영역에 관한 지식을 선택적으로 단순화하고 의식적으로 구조화한 형태이다. 9. 구조는 사용자나 이해관계자들이 domain에 관해 생각하는 개념과 개념 간의 관계를 표현한다. 10. 기능은 사용자의 목표를 만족시키기 위해 책임을 수행하는 시스템의 행위이다. 최민석프론트엔드 엔지니어@뱅샐4년 이상도움됐어요2