From a445ab83848adb3971629bfbca4504b7020b40ad Mon Sep 17 00:00:00 2001 From: TaeHyoungKwon Date: Fri, 31 May 2024 21:03:33 +0900 Subject: [PATCH] Feat: Add 1,2,3,4.md for oop --- 2024/TheEssenseOfObjectOrientation/taehyoung/ch01.md | 11 +++++++++++ 2024/TheEssenseOfObjectOrientation/taehyoung/ch02.md | 9 +++++++++ 2024/TheEssenseOfObjectOrientation/taehyoung/ch03.md | 11 +++++++++++ 2024/TheEssenseOfObjectOrientation/taehyoung/ch04.md | 10 ++++++++++ 4 files changed, 41 insertions(+) create mode 100644 2024/TheEssenseOfObjectOrientation/taehyoung/ch01.md create mode 100644 2024/TheEssenseOfObjectOrientation/taehyoung/ch02.md create mode 100644 2024/TheEssenseOfObjectOrientation/taehyoung/ch03.md create mode 100644 2024/TheEssenseOfObjectOrientation/taehyoung/ch04.md diff --git a/2024/TheEssenseOfObjectOrientation/taehyoung/ch01.md b/2024/TheEssenseOfObjectOrientation/taehyoung/ch01.md new file mode 100644 index 0000000..deb908f --- /dev/null +++ b/2024/TheEssenseOfObjectOrientation/taehyoung/ch01.md @@ -0,0 +1,11 @@ +# 논의 내용 + +- 객체지향 설계를 잘하기 위한 구체적인 연습 방법은 무엇이 있을까? + +# 내용 + +- 실세계의 모방이라는 개념은 객체지향의 기반을 이루는 철학적인 개념을 설명하는 데는 적합하지만, 유연하고 실용적인 관점에서 객체지향 분석, 설계를 설명하기에는 적합하지 않다. +- 역할은 어떤 협력에 참여하는 특정한 사람이 협력 안에서 차지하는 책임이나 임무를 의미한다. +- 협력의 핵심은 특정한 책임을 수행하는 역할들 간의 연쇄적인 요청과 응답을 통해 목표를 달성한다는 것 +- 객체지향 설계라는 예술은 적절한 객체에서 적절한 책임을 할당하는 것에서 시작된다. +- 클래스의 구조와 메서드가 아니라, 객체의 역할, 책임, 협력에 집중하라. \ No newline at end of file diff --git a/2024/TheEssenseOfObjectOrientation/taehyoung/ch02.md b/2024/TheEssenseOfObjectOrientation/taehyoung/ch02.md new file mode 100644 index 0000000..a73772a --- /dev/null +++ b/2024/TheEssenseOfObjectOrientation/taehyoung/ch02.md @@ -0,0 +1,9 @@ +# 논의 내용 + +- 없음 + +# 내용 + +- 앨리스의 상태를 결정하는 것은 행동이지만 행동의 결과를 결정하는 것은 상태다. +- 객체에 접근할 수있는 유일할 방법은 객체가 제공하는 행동뿐이라는 점을 강조한다. +- 소프트웨어 안에 구축되는 객체지향 세계는 현실을 모방한 것이 아니다. 현실의 모습을 조금 참조할 뿐 궁극적인 목적은 현실과 전혀 다른 새로운 세계를 창조하는 것이다. \ No newline at end of file diff --git a/2024/TheEssenseOfObjectOrientation/taehyoung/ch03.md b/2024/TheEssenseOfObjectOrientation/taehyoung/ch03.md new file mode 100644 index 0000000..0927d04 --- /dev/null +++ b/2024/TheEssenseOfObjectOrientation/taehyoung/ch03.md @@ -0,0 +1,11 @@ +# 논의 내용 + +- 없음 + +# 내용 + +1. 객체지향 패러다임은 객체라는 추상화를통해 현실의 복잡성을 극복한다. +2. 공통점을 기반으로 객체들을 묶기 위한 그릇을 개념이라고 한다. … 개념을 이용하면 객체를 여러 그룹으로 분류 할 수 있다. +3. 타입 시스템의 목적은 메모리 안의 모든 데이터가 비트열로 보임으로써 야기되는 혼란을 방지하는 것이다. +4. 객체지향에서 일반화/특수화 관계를 결정하는 것은 객체의 상태를 표현하는 데이터가 아니라 행동이라는 것이다. +5. 타입은 추상화다. 타입을 이용하면, 객체의 동적인 특성을 추상화할 수 있다. \ No newline at end of file diff --git a/2024/TheEssenseOfObjectOrientation/taehyoung/ch04.md b/2024/TheEssenseOfObjectOrientation/taehyoung/ch04.md new file mode 100644 index 0000000..2d00ff5 --- /dev/null +++ b/2024/TheEssenseOfObjectOrientation/taehyoung/ch04.md @@ -0,0 +1,10 @@ +# 논의 내용 + +- 결국에 이 책의 저자가 1~4장에서 말했던 내용을 구체화한 것이 책임-주도 설계 이지 않을까 생각을 했고, 어떻게 생각하면 설계 시에 당연하게 고려되는게 아닌가? 라는 생각도 동시에 들었습니다 다른 분들의 의견도 궁금합니다 + +# 내용 + +- 책임은 객체에 의해 정의되는 응집도 있는 행위의 집합으로, 객체가 알아야 하는 정보와 객체가 수행할 수 있는 행위에 대해 개략적으로 서술한 문장이다. +- 책임은 객체지향 설계의 품질을 결정하는 가장 중요한 요소다. 객체지향 설계의 예술은 적절한 객체에게 적절한 책임을 할당하는 데 있다. +- 책임과 협력의 구조가 자리를 잡기 전까지는 책임을 구현하는 방법에 대한 고민은 잠시 뒤로 미루는 것이 좋다. +- 협력에 필요한 책임을 결정하고 객체에게 책임을 할당하는 과정을 얼마나 합리적이고, 적절하게 수행했는지가 객체지향 설계의 품질을 결정한다 \ No newline at end of file