먼저 들어간 것이 마지막에 나오는 규칙 = 후입선출 또는 LIFO(Last In First Out)
이때 스택에 삽입하는 연산을 push, 꺼내는 연산을 pop
추상 자료형이란 인터페이스만 있고, 실제로 구현은 되지 않은 자료형.
1.push : 스택에 데이터 푸시
2.pop : 스택에서 최근 푸시한 데이터를 팝하고, 그 데이터 반환
3.isFull(가득 찼는지 확인)
스택에 들어 있는 데이터 개수가 maxsize인지 확인해 boolean값을 반환.
가득 차 있다면 True, 아니면 false
4.isEmpty(비었는지 확인)
스택에 들어 있는 데이터가 하나도 없는지 확인해 boolean값을 반환.
데이터가 하나라도 있으면 false, 아니면 true
5.top(최근 삽입한 데이터 위치를 저장할 변수)
데이터 없는 기본값은 -1,
스택에서 최근에 푸시한 데이터 위치를 기록
6.ItemType data[maxsize] : 스택의 데이터를 관리하는 배열, 최대 maxsize개의 데이터를 관리
push >
push(2)호출하면 내부적으로 1.isFull() 수행해 data배열에 데이터가 가득 찼는지 확인하고, 그렇지 않다면 top을 1만큼 증가시킨 후 top이 가리키는 위치 data[0]에 3을 추가.
pop >
내부적으로 isEmpty() 함수 우선 실행해 data 배열에 데이터가 없는 건 아닌지 확인하고, 데이터가 있다면 top을 1만큼 감소시키고 데이터 '3'을 반환.