스택의 어원은 '쌓는다'이다.
어원에서 짐작할 수 있듯이 먼저 입력한 데이터를 제일 나중에 꺼낼 수 있는 자료 구조이다.
LIFO(Last In First Out): 먼저 들어간 것이 마지막에 나오는 규칙을 후입선출 또는 LIFO라고 한다.
이때 스택에 삽입하는 연산을 push, 꺼내는 연산을 pop이라고 한다.
ADT(abstract data type): 추상자료형
그렇다면 스택은 어떤 정의가 필요한 자료구조 일까?
우선 다음을 정의해야 된다.