17일차 - 프로시저 추상화와 데이터 추상화
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
분해를 통한 추상화 구현
불필요한 정보를 제거하고, 현재의 문제 해결에 필요한 핵심만 남기면서 추상화를 실현할 수 있다.
이런 추상화를 큰 문제를 해결 가능한 작은 문제로 나누는 분해 작업을 통해서 추상화를 구현할 수 있다.
소프트웨어는 데이터를 이용해서 정보를 표현하고, 프로시저를 이용해서 데이터를 조작한다.
따라서 크게 두가지로 추상화 매커니즘을 구성한다.
프로시저 추상화
소프트웨어가 무엇을 해야하는지 추상화하는 방법이다.
따라서 어떤 기능에 대해서 추상화하게 되므로, 기능 분해 / 알고리즘 분해를 통해 구현할 수 있다.
데이터 추상화
소프트웨어가 무엇을 알아야하는지 추상화하는 방법이다.
따라서 어떤 것에 대해 데이터를 중심으로 추상화할 것인지에 따라 다르게 구현된다.
만약, 이 데이터를 타입으로써 추상화한다면, 타입이 추상화되고, 그 타입을 추상 데이터 타입이라고 부른다.
만약, 이 데이터를 프로시저에 대해 추상화한다면, 데이터를 중심으로 프로시저 추상화를 구현하게되면서, 객체지향적인 추상화를 수행한다.
그래서 역할과 책임을 수행하는 객체로 만드는 과정이, 협력하는 공동체를 구성하도록 객체를 나눈 과정이, 객체지향에서의 추상화와 분해를 구현한 것이다.