추상적 자료형

Abstract Data Type, ADT.

위키백과의 설명(영문)

컴퓨터 과학에서의 개념. 자료구조의 구현 세부사항을 다 쳐내고 자료 자체의 형태와 자료에 관계된 연산들만을 명기한 것이다. 스택을 예로 들면, 스택의 형태는 삽입한 순서대로 쌓이는 값들의 모임이고, 스택이 비었는지 알아보는 empty연산, 스택에 쌓인 값이 몇 개인지 알아보는 size연산, 스택의 제일 위에 값을 넣는 push연산과 스택 제일 위의 값을 하나 빼서 알려주는 pop연산이 있다고 할 수 있다.

이 때, 스택이 내부적으로 배열로 구현되는지 연결 리스트로 구현되는지, size연산을 수행할 때 원소의 개수를 일일히 세는지 아니면 개수를 따로 저장해두는지와 같은 세부사항들은 추상적 자료형에서는 다루지 않으며, 그걸 다루기 시작하면 자료구조의 영역으로 넘어가게 된다. 다만, 경우에 따라 push연산이 O(1)인지 O(n)인지와 같은 계산 복잡도와 관련된 부분을 추가로 다룰 수도 있다.

객체 지향 프로그래밍에서의 클래스의 개념과 일맥상통한다고 볼 수도 있다.

추상적 자료형의 종류