-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #425 from ThinkAboutSoftware/thkwon-oop-ch-1-4
Feat: Add 1,2,3,4.md for oop
- Loading branch information
Showing
4 changed files
with
41 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
# 논의 내용 | ||
|
||
- 객체지향 설계를 잘하기 위한 구체적인 연습 방법은 무엇이 있을까? | ||
|
||
# 내용 | ||
|
||
- 실세계의 모방이라는 개념은 객체지향의 기반을 이루는 철학적인 개념을 설명하는 데는 적합하지만, 유연하고 실용적인 관점에서 객체지향 분석, 설계를 설명하기에는 적합하지 않다. | ||
- 역할은 어떤 협력에 참여하는 특정한 사람이 협력 안에서 차지하는 책임이나 임무를 의미한다. | ||
- 협력의 핵심은 특정한 책임을 수행하는 역할들 간의 연쇄적인 요청과 응답을 통해 목표를 달성한다는 것 | ||
- 객체지향 설계라는 예술은 적절한 객체에서 적절한 책임을 할당하는 것에서 시작된다. | ||
- 클래스의 구조와 메서드가 아니라, 객체의 역할, 책임, 협력에 집중하라. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
# 논의 내용 | ||
|
||
- 없음 | ||
|
||
# 내용 | ||
|
||
- 앨리스의 상태를 결정하는 것은 행동이지만 행동의 결과를 결정하는 것은 상태다. | ||
- 객체에 접근할 수있는 유일할 방법은 객체가 제공하는 행동뿐이라는 점을 강조한다. | ||
- 소프트웨어 안에 구축되는 객체지향 세계는 현실을 모방한 것이 아니다. 현실의 모습을 조금 참조할 뿐 궁극적인 목적은 현실과 전혀 다른 새로운 세계를 창조하는 것이다. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
# 논의 내용 | ||
|
||
- 없음 | ||
|
||
# 내용 | ||
|
||
1. 객체지향 패러다임은 객체라는 추상화를통해 현실의 복잡성을 극복한다. | ||
2. 공통점을 기반으로 객체들을 묶기 위한 그릇을 개념이라고 한다. … 개념을 이용하면 객체를 여러 그룹으로 분류 할 수 있다. | ||
3. 타입 시스템의 목적은 메모리 안의 모든 데이터가 비트열로 보임으로써 야기되는 혼란을 방지하는 것이다. | ||
4. 객체지향에서 일반화/특수화 관계를 결정하는 것은 객체의 상태를 표현하는 데이터가 아니라 행동이라는 것이다. | ||
5. 타입은 추상화다. 타입을 이용하면, 객체의 동적인 특성을 추상화할 수 있다. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
# 논의 내용 | ||
|
||
- 결국에 이 책의 저자가 1~4장에서 말했던 내용을 구체화한 것이 책임-주도 설계 이지 않을까 생각을 했고, 어떻게 생각하면 설계 시에 당연하게 고려되는게 아닌가? 라는 생각도 동시에 들었습니다 다른 분들의 의견도 궁금합니다 | ||
|
||
# 내용 | ||
|
||
- 책임은 객체에 의해 정의되는 응집도 있는 행위의 집합으로, 객체가 알아야 하는 정보와 객체가 수행할 수 있는 행위에 대해 개략적으로 서술한 문장이다. | ||
- 책임은 객체지향 설계의 품질을 결정하는 가장 중요한 요소다. 객체지향 설계의 예술은 적절한 객체에게 적절한 책임을 할당하는 데 있다. | ||
- 책임과 협력의 구조가 자리를 잡기 전까지는 책임을 구현하는 방법에 대한 고민은 잠시 뒤로 미루는 것이 좋다. | ||
- 협력에 필요한 책임을 결정하고 객체에게 책임을 할당하는 과정을 얼마나 합리적이고, 적절하게 수행했는지가 객체지향 설계의 품질을 결정한다 |