2023.08.18 FRI
214p ~ 224p
16일차 내용 ⬇️
2023.08.19 - [개발 서적 기록/오브젝트_조영호] - 16일차 - 캡슐화가 적절지 않은 경우와 명령 쿼리 분리 원칙
16일차 - 캡슐화가 적절지 않은 경우와 명령 쿼리 분리 원칙
2023.08.18 FRI 199p ~ 213p 15일차 내용 ⬇️ 2023.08.18 - [개발 서적 기록/오브젝트_조영호] - 15일차 - 퍼블릭 인터페이스 만들기 15일차 - 퍼블릭 인터페이스 만들기 2023.08.18 FRI 183p ~ 198p 14일차 내용 ⬇️ 2
magenta-ming.tistory.com
분해를 통한 추상화 구현
불필요한 정보를 제거하고, 현재의 문제 해결에 필요한 핵심만 남기면서 추상화를 실현할 수 있다.
이런 추상화를 큰 문제를 해결 가능한 작은 문제로 나누는 분해 작업을 통해서 추상화를 구현할 수 있다.
소프트웨어는 데이터를 이용해서 정보를 표현하고, 프로시저를 이용해서 데이터를 조작한다.
따라서 크게 두가지로 추상화 매커니즘을 구성한다.
프로시저 추상화
소프트웨어가 무엇을 해야하는지 추상화하는 방법이다.
따라서 어떤 기능에 대해서 추상화하게 되므로, 기능 분해 / 알고리즘 분해를 통해 구현할 수 있다.
데이터 추상화
소프트웨어가 무엇을 알아야하는지 추상화하는 방법이다.
따라서 어떤 것에 대해 데이터를 중심으로 추상화할 것인지에 따라 다르게 구현된다.
만약, 이 데이터를 타입으로써 추상화한다면, 타입이 추상화되고, 그 타입을 추상 데이터 타입이라고 부른다.
만약, 이 데이터를 프로시저에 대해 추상화한다면, 데이터를 중심으로 프로시저 추상화를 구현하게되면서, 객체지향적인 추상화를 수행한다.
그래서 역할과 책임을 수행하는 객체로 만드는 과정이, 협력하는 공동체를 구성하도록 객체를 나눈 과정이, 객체지향에서의 추상화와 분해를 구현한 것이다.
'개발 서적 기록 > 오브젝트_조영호' 카테고리의 다른 글
20일차 - 런타임과 컴파일 시점의 의존성을 위해 컨텍스트는 독립되어야한다 (0) | 2023.08.22 |
---|---|
18일차 - 하향식 기능 분해 설계 (0) | 2023.08.21 |
16일차 - 캡슐화가 적절지 않은 경우와 명령 쿼리 분리 원칙 (0) | 2023.08.19 |
15일차 - 퍼블릭 인터페이스 만들기 (0) | 2023.08.18 |
14일차 - 협력, 메시지, 퍼블릭 인터페이스, 오퍼레이션 (0) | 2023.08.15 |