Data Abstraction   자료 추상화, 데이터 추상화

(2019-06-25)

ADT, Abstract Data Type, 추상 자료형, 추상 데이터 타입, 추상 데이터형

1. 자료 추상화 (Data Abstraction)

  ㅇ 여러 자료형을 하나로 묶어(단순화) 정의하는 것부터,
     - 例) 사용자 정의 자료형으로써 구조체 등
  ㅇ 자료형에 속하는 값들의 집합, 그에 적용 가능한 연산들을 규정해 가면서,
  ㅇ 이를 추상화시켜 정의 및 구현하는 것을 총체적으로 일컬음

  ※ 컴퓨터에 저장되는 비트(0,1) 및 메모리 공간 관점이 아닌,
     - 인간 사고와 유사한 관점으로 보려는 것


2. 추상 자료형 (Abstract Data Type, ADT)자료형추상화시킨 형태
     - `자료` 및 `연산`을 모두 하나의 단위로 묶고, 
     - 외부로부터 내부 자료를 함부로 접근 못하게함
     - 즉,
        . 자료형에 대한 의도되지 않은 변화를 최소화하고,
        . 이를 마치 블랙박스 처럼 취급할 수 있게 하는 것
        . 이를두고, 캡슐화(Encapsulation) 또는 정보은닉(Information Hiding) 라고도 함

  ㅇ 추상자료형 특징
     - `자료` 및 `연산`을 모두 하나의 단위로 묶음
        . 사용자 정의 자료형 (user defined data type)
        . 사용자 정의 연산 (user defined data type)

     - 자료의 캡슐화 (data encapsulation) 또는 정보은닉(information hiding)을 도모함
        . 세부 구현 사항을 감출 수 있음
        . 변경이 전체에 영향을 미치지 않음
        . 인터페이스를 다양화시킬 수 있으며, 더 많은 정보를 줄 수 있음

     - 즉,
        . 내부적으로는, 데이터와 함수(메소드)를 서로 연결짓고,
          외부적으로는, 데이터의 표현 방식을 사용자로부터 숨김

  ※ 자료 추상화(추상 자료형)에 의해, 비로소 객체지향 프로그래밍 기법이 가능하게 됨


[자료형/데이터형] 1. 자료형 2. 변수 선언/정의/초기화 3. 리터럴 4. 문자열 5. 상수 6. 형변환 7. 레코드 8. 객체 9. 자료 추상화

 
        최근수정     요약목록     참고문헌