데이터 추상화에 대해서 알기 위해 먼저 추상화를 알 필요가 있다.
추상화(abstraction)는 여러가지 필요한 부분, 중요한 부분을 하나로 만드는 것을 말한다.
그 예로, 동그란 원에 숫자가 12개까지 있고 시침과 분침 초침이 있는 걸 무엇이라고 할까?
더보기
답은 '아날로그 시계' 이다.
추상화는 아주 중요한 부분을 통합하여 그 의미가 무엇을 의미하는지를 알 수 있게 해준다.
그렇다면 데이터를 추상화한다는 것은 무엇일까?
간단하게 말하자면, 여러 데이터를 하나로 묶어(단순화) 더 높은 단계로 정의(추상화)하는 것이다. 다시 말해 데이터가 직접적으로 정의된 것(물리적인 표현)을 의식하지 않고 추상화한 데이터형으로써 사용하는 것이다. 이러한 데이터의 물리적 표현과 그 기본 조작 절차를 묶어 정의하고 그 형의 데이터는 정의된 절차를 따라서만 이루어지는 수법을 말한다.
추상화의 특징
- 코드의 단순화, 재사용성과 가독성을 높이고 결국 생산성, 에러의 감소와 같은 performance 향상에 영향을 미치게 된다.
- object의 요구되는 기능만을 확인할 수 있는 과정
- 상관없는 detail은 무시할 수 있다.
- 필수 요소가 아닌 부분은 class 정의에서 사용하지 않습니다.