추상적 자료형(Abstract Data Type, ADT)
기능을 어떻게 구현하는 지에 대한 방법은 나타내지 않고 순수하게 기능이 무엇인지만 언급한 것을 추상 자료형(ADT)라 한다.
특징
- 무엇인지만 명시하고 어떻게 구현하는지는 언급하지 않는다.
- 사용자가 내부 구현을 알지 못해도 사용할 수 있다.
- 세부 구현 방법이 언급되지 않음으로써 세부 내용을 숨겨 정보의 은닉이 가능하다.
- 자료구조의 구현과 구현된 자료구조의 활용은 완전히 구분되도록 정의해야 한다.
추상적 자료형의 예시
- 스택
- 큐
- 덱
- 리스트 등
추상 자료형의 정의
한 게임 내에 가상의 총기가 있다고 가정하고 추상 자료형을 정의해보면
추상 자료형: 총
- Data: 방아쇠, 탄 수
- Operation: Firing(), Reload()
이를 C의 헤더 파일로 구현하면 아래와 같이 될 것이다.
typedef struct{
int trigger;
int ammo;
} Gun;
void Fire();
void Reload();
'개인 공부 > 자료구조' 카테고리의 다른 글
덱(Deque) (0) | 2023.01.04 |
---|---|
큐(Queue) (0) | 2023.01.04 |
스택(Stack) (0) | 2023.01.04 |
리스트(List)#2 (1) | 2023.01.04 |
리스트(List)#1 (0) | 2022.12.30 |