
스택이란 제한적으로 접근할 수 있는 나열 구조입니다.
후입선출 (Last In, First Out; LIFO)의 자료구조입니다.
후입선출이란, 마지막에 들어온 데이터가 가장 먼저 나가는 구조를 의미합니다.
그래서 보통 스택은 데이터가 입력된 순서의 역순으로 처리해야 할 경우 자주 사용합니다.
![]()
위 이미지처럼 후입 선출 구조입니다.
기본적으로 데이터 추가, 꺼내기, 스택 공간 확인 동작으로 이루어집니다.

데이터를 꺼낼 때도 쌓여져 있는 접시의 이미지를 떠올리면 이해하기 쉽습니다..
아래의 접시를 꺼내긴 힘들 듯이 스택 또한 맨 위의 데이터를 가장 먼저 가져옵니다.

Java에서는 스택을 클래스로 제공하고 있습니다.
Stack 클래스에는 여러가지 메소드를 제공하는데, push 메소드로 stack에 데이터를 추가하고 pop을 통해 데이터를 꺼내옵니다.
oracle_stack : 스택 바로가기