스택
2026년 02월 22일
스택(Array)이란 말 그대로 데이터를 쌓아 올리는 자료 구조입니다.

위 그림은 스택을 그림으로 나타낸 것입니다. 스택은 먼저 들어간 것이 마지막에 나온다는 특징이 있습니다. 이 규칙을 후입선출, LIFO(Last In First Out)라고 부릅니다.
마지막에 저장한 데이터를 가장 먼저 꺼내는 후입선출 구조를 통해 데이터를 효율적으로 관리하기 위해 사용합니다.
브라우저의 '뒤로가기'는 스택(Stack) 자료구조의 LIFO(Last-In, First-Out, 후입선출) 원리를 활용하여 가장 마지막에 방문한 페이지를 먼저 보여주는 기능입니다. 뒤로가기 버튼 클릭 시 현재 페이지는 '다음' 스택에, 이전 페이지는 '뒤로' 스택에서 가져와 화면에 표시합니다.
push → 스택의 최상단(top)에 데이터를 넣음pop → 최상단(top)의 데이터를 제거하고, 그 데이터를 반환isFull → 가득 차 있다면 true, 아니면 falseisEmpty → 데이터가 하나라도 있다면 false, 없다면 truetop → 최근 삽입한 데이터의 위치를 저장할 변수스택은 인터페이스(설계도)만 있고 구현은 되어 있지 않습니다. JS에서는 스택은 없지만, 배열의 push, pop 함수를 이용해서 배열을 스택처럼 사용할 수 있습니다.

const stack = [];
function push(stack, item) {
stack.push(item);
console.log("데이터가 추가되었습니다.");
}
function pop(stack) {
if (stack.length === 0) {
console.log("스택이 비어 있습니다.");
return null;
} else return stack.pop();
}자바스크립트에서 배열은 동적으로 크기가 변하므로 maxSize, isFull()는 구현할 필요가 없으며, isEmpty()는 stack.length === 0으로 대체 가능합니다.
pop() 함수에서 빈 스택일 때만 주의하면 됩니다!