코드몽키

[Data Structure] ADT(Abstract Data Type) 추상적 자료구조 본문

Data Structure

[Data Structure] ADT(Abstract Data Type) 추상적 자료구조

wawa93 2025. 8. 8. 19:57

추상적 자료구조는 자료구조의 기초를 이루는 매우 중요한 개념이다. ADT(Abstract Data Type)는 자료구조의 사용 방식과 작동 방식을 정의하는 추상적인 개념에 해당한다.

 



스택(Stack), 큐(Queue), 리스트(List), 트리(Tree), 그래프(Graph) 등 각각의 ADT로 구현 세부사항을 추상화 하고 어떻게 사용되는지에 대한 규칙을 제공한다.
 
예를 들면 Stack은 LIFO(Last In, First Out) 원칙을 따르도록하고, Stack에 저장되는 데이터를 어떻게 추가하고 삭제하고 조회하는지 push, pop, peek 등의 연산을 정의한다. ADT는 단순히 “데이터를 담는 그릇”이 아니라 어떻게 접근하고 다루는지(연산)까지 포함하는 개념이다.
 
ADT는 이러한 추상적인 규격을 제공하므로, 이것들을 이해한다면 실제로 프로그래밍에서 구현할 때  자료구조가 어떻게 설계되고 작동하는지 근본부터 생각할 수 있는 시야가 생길 것이다.

대부분의 프로그래밍 언어는 대표적인 ADT를 구현한 추상 인터페이스를 이미 표준 라이브러리 형태로 제공하므로, 우리는 이를 그대로 활용하면 된다.

 

 

 

 

대표적인 예로 Java의 Collection Framework가 있다.
List, Queue, Set, Map 등 다양한 ADT가 인터페이스 형태로 제공되며, 이미 표준 구현체가 존재하므로 개발자는 목적과 취향에 맞게 선택하여 사용할 수 있다.

 


Reference
https://www.geeksforgeeks.org/dsa/abstract-data-types/

 

Abstract Data Types - GeeksforGeeks

Your All-in-One Learning Portal: GeeksforGeeks is a comprehensive educational platform that empowers learners across domains-spanning computer science and programming, school education, upskilling, commerce, software tools, competitive exams, and more.

www.geeksforgeeks.org

https://hudi.blog/java-collection-framework-1/

'Data Structure' 카테고리의 다른 글

[Data Structure] 해시(Hash)  (0) 2025.08.18
[Data Structure] 큐(Queue)  (4) 2025.08.13
[Data Structure] 스택(Stack)  (0) 2025.08.09