개발 서적 기록/오브젝트_조영호

17일차 - 프로시저 추상화와 데이터 추상화

밍 끄적 2023. 8. 19. 01:36
728x90

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


분해를 통한 추상화 구현

불필요한 정보를 제거하고, 현재의 문제 해결에 필요한 핵심만 남기면서 추상화를 실현할 수 있다.

이런 추상화를 큰 문제를 해결 가능한 작은 문제로 나누는 분해 작업을 통해서 추상화를 구현할 수 있다.

 

소프트웨어는 데이터를 이용해서 정보를 표현하고, 프로시저를 이용해서 데이터를 조작한다.

따라서 크게 두가지로 추상화 매커니즘을 구성한다.

프로시저 추상화

소프트웨어가 무엇을 해야하는지 추상화하는 방법이다.

따라서 어떤 기능에 대해서 추상화하게 되므로, 기능 분해 / 알고리즘 분해를 통해 구현할 수 있다.

데이터 추상화

소프트웨어가 무엇을 알아야하는지 추상화하는 방법이다.

따라서 어떤 것에 대해 데이터를 중심으로 추상화할 것인지에 따라 다르게 구현된다.

 

만약, 이 데이터를 타입으로써 추상화한다면, 타입이 추상화되고, 그 타입을 추상 데이터 타입이라고 부른다.

만약, 이 데이터를 프로시저에 대해 추상화한다면, 데이터를 중심으로 프로시저 추상화를 구현하게되면서, 객체지향적인 추상화를 수행한다.

 

그래서 역할과 책임을 수행하는 객체로 만드는 과정이, 협력하는 공동체를 구성하도록 객체를 나눈 과정이, 객체지향에서의 추상화와 분해를 구현한 것이다.

728x90