본문 바로가기
IT

추상 데이터 타입(ADT)

by 해쨍쨍 2022. 4. 18.
반응형

추상 데이터 타입(Abstract Data Type, ADT)

(1) 정의
① 데이터 타입(data type)은 객체(object)와 그 객체 위에 작동하는 연산(operation)의 집합이다. 
추상 데이터 타입(ADT, abstract data type)은 객체의 명세와 그 연산의 명세가 그 객체의 표현과 연산의 구현으로부터 분리된 데이터 타입이다.
② 어떤 프로그래밍 언어에서는 명세와 구현 사이를 구별하는 기법을 명시적으로 제공한다. 예를 들면, Ada에는 package라는 개념이 있고, C++에는 class라는 개념이 있다. 
이들 모두 프로그래머가 추상 데이터 타입을 구현하는 것을 돕는다.
③ C언어에서는 추상 데이터 타입을 명시적으로 구현하는 기법을 갖고 있지 않지만, 같은 개념을 사용해서 데이터 타입을 설계하는 것은 가능하고 바람직하다.
④ ADT 연산의 명세는 그 연산의 구현과 어떻게 다른가? 명세는 모든 함수의 이름, 그 함수의 매개변수 타입, 그리고 함수의 결과 타입으로 구성된다. 그리고 함수가 수행하는 기능에 대한 기술이 있어야 된다.
⑤ 그러나 내부적인 표현이나 구현의 독립에 대한 자세한 설명은 필요 없다. 이러한 요건들은 매우 중요하며, 이것은 추상 데이터 타입이 구현에 독립적임을 의미한다. 
⑥ 데이터의 표현이나 연산의 구현은 제외하고 데이터와 연산의 본질에 대한 명세만 정의하는 것이다.


(2) 특징

① 추상 자료형은 복잡한 자료형을 정의할 때 복잡한 세부 구현 내용은 생략하고, 앞으로 변경될 ) 가능성이 적은 대표적이면서도 핵심적이면서 내용만을 간략히 기술한다.
② 즉, 추상 자료형은 각 연산이 어떤 기능을 하며 입력값과 출력값이 무엇인지만을 노출하고 있고, 연산 내부의 세부적이고 복잡한 것을 생략하고 있다.

(3) 조건

① 자료형과 연산에 대한 정의가 한 곳에서 가능하다.② 자료형과 연산이 하나로 묶인 자료형에 대한 프로그램의 접근을 제한할 수 있어야 한다.

(4) 구현 방법

① 자료와 그에 관련된 연산들의 기본적인 특성을 기술한다.② 이미 존재하는 자료형을 이용하여 기술된 내용을 구현한다.③ 기술 내용과 구현 결과가 일치함을 보여줘야 한다.


① 추상(abstraction) & 연산에 필요한 추상

추상이란 많은 표상 이미지에서 공통되는 측면이나 중요한 성질을 뽑아내어 그것만을 독립적으로 사유의 대상으로 삼는 정신적 작용을 의미하며, 
연산에 필요한 추상이란 무엇(whal)이 수행되는지는 알지만 어떻게(how) 수행되는지는 몰라도 좋다는 것이다.

(5) 추상 데이터 타입(ADT)의 구성 요소

① 구조 이름
② 객체(data)의 정리
③ 함수(연산)의 정리

반응형

'IT' 카테고리의 다른 글

애드센스 승인 완료 후기(승인기간, 글쓰기 방법)  (0) 2022.05.13
순서리스트  (0) 2022.04.20
자료구조의 개념  (0) 2022.04.15

댓글