개인 공부/자료구조

추상 자료형(Abstract Data Type, ADT)

Koalitsiya 2022. 12. 29. 14:23

추상적 자료형(Abstract Data Type, ADT)

기능을 어떻게 구현하는 지에 대한 방법은 나타내지 않고 순수하게 기능이 무엇인지만 언급한 것을 추상 자료형(ADT)라 한다.

 

특징

 - 무엇인지만 명시하고 어떻게 구현하는지는 언급하지 않는다. 

 - 사용자가 내부 구현을 알지 못해도 사용할 수 있다.

 - 세부 구현 방법이 언급되지 않음으로써 세부 내용을 숨겨 정보의 은닉이 가능하다.

 - 자료구조의 구현과 구현된 자료구조의 활용은 완전히 구분되도록 정의해야 한다.

 

추상적 자료형의 예시

 - 스택

 - 큐

 -  덱

 - 리스트 등

 

추상 자료형의 정의

한 게임 내에 가상의 총기가 있다고 가정하고 추상 자료형을 정의해보면

 

추상 자료형: 총

- Data: 방아쇠, 탄 수

- Operation: Firing(), Reload()

 

이를 C의 헤더 파일로 구현하면 아래와 같이 될 것이다.

typedef struct{
	int trigger;
    int ammo;
} Gun;

void Fire();
void Reload();