**데이터 구조(data structure)**는 데이터를 효율적으로 접근하고 수정할 수 있도록 메모리에 정리하고 저장하는 방식입니다. **추상 데이터 타입(abstract data type, ADT)**은 논리적 모델, 즉 연산과 그 동작을 의미하며, 실제로 어떻게 구현되는지와는 무관합니다.
ADT 대 구현
ADT는 어떤 연산이 존재하는지를 기술하고, 데이터 구조는 그것을 어떻게 저장하고 얼마나 빠르게 동작하게 할지를 결정합니다.
text
ADT: Stack → push, pop, peek (LIFO 동작)
구현: → array 기반 또는 linked list 기반
ADT: List → get(i), insert, remove
구현: → dynamic array 또는 linked list
코드에서 이 구분이 중요한 이유
python
stack = []
stack.append()
top = stack[-]
stack.pop()
