[java] 스택이란 무엇인가요?

스택은 일상 생활에서 책을 쌓은 것과 유사한 개념으로 이해할 수 있습니다. 책을 쌓을 때는 가장 마지막에 쌓은 책이 가장 먼저 사용되기 때문에, 스택도 마찬가지로 가장 마지막에 삽입된 데이터가 가장 먼저 삭제되거나 접근됩니다.

자바에서 스택은 자료구조를 구현하는 다양한 클래스로 제공됩니다. 주로 java.util 패키지의 Stack 클래스나 LinkedList 클래스를 사용하여 스택을 구현할 수 있습니다.

자바에서 스택을 사용하는 예시 코드를 살펴보겠습니다.

import java.util.Stack;

public class StackExample {
    public static void main(String[] args) {
        // 스택 객체 생성
        Stack<Integer> stack = new Stack<>();

        // 스택에 데이터 삽입
        stack.push(1);
        stack.push(2);
        stack.push(3);

        // 스택의 상단 데이터 확인
        int top = stack.peek();
        System.out.println("스택의 상단 데이터: " + top);

        // 스택에서 데이터 삭제
        int popped = stack.pop();
        System.out.println("스택에서 제거된 데이터: " + popped);

        // 스택이 비어있는지 확인
        boolean isEmpty = stack.isEmpty();
        System.out.println("스택이 비어있는지 확인: " + isEmpty);
    }
}

위의 예시 코드는 자바의 Stack 클래스를 사용하여 스택을 구현하는 예시입니다. 스택 객체를 생성한 후에 push 메서드로 데이터를 삽입하고, peek 메서드로 상단 데이터를 확인하며, pop 메서드로 데이터를 삭제합니다. isEmpty 메서드를 사용하여 스택이 비어있는지 여부를 확인할 수도 있습니다.

자세한 내용은 Java Stack 문서를 참고하시면 좋습니다.