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. 자료 추상화
  1.   기술공통
  2.   기초과학
  3.   진동/파동
  4.   방송/멀티미디어/정보이론
  5.   전기전자공학
  6.   통신/네트워킹
  7.   정보기술(IT)
        1. 정보기술
    1.   전산기초
    2.   컴퓨터구조
    3.   프로그래밍
          1. 프로그램, 프로그래밍
      1.   프로그래밍 언어론
            1. 프로그래밍 언어
        1.   구문
        2.   변수
        3.   자료형/데이터형
          1.   1. 자료형
              2. 변수 선언/정의/초기화
              3. 리터럴
              4. 문자열
              5. 상수
              6. 형변환
              7. 레코드
              8. 객체
              9. 자료 추상화
        4.   부프로그램/함수/프로시저
        5.   예외,이벤트 처리
      2.   프로그래밍 방법론
      3.   객체지향 프로그래밍
      4.   자료표현코드
      5.   자료구조
      6.   알고리즘
      7.   시스템 소프트웨어
      8.   프로그래밍언어 종류
      9.   프로그래밍 기타일반
    4.   데이터베이스
    5.   소프트웨어 공학
    6.   운영체제
    7.   정보보호/보안
    8.   IT 기타기술
  8.   공업일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

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