📚 자료구조: 스택 (Stack)
스택은 데이터를 "Last In, First Out (LIFO)", 즉 후입선출 방식으로 관리하는 선형 자료구조다.
- 구조: 한쪽 끝에서만 데이터를 넣고 뺄 수 있는 단방향 구조로 되어 있다.
- 주요 연산:
- push: 스택에 데이터를 추가한다.
- pop: 스택에서 가장 마지막에 추가된 데이터를 제거하고 반환한다.
- peek: 스택의 가장 위에 있는 데이터를 제거하지 않고 확인한다.
- 비유: 접시 쌓기와 비슷하다. 쌓고 나면 가장 위에 있는 접시를 먼저 꺼내게 되는 것처럼 자바의 스택 메모리 영역도 이 원리로 작동하여 메서드 호출 순서를 관리한다.
📚 자료구조: 큐 (Queue)
큐는 데이터를 "First In, First Out (FIFO)", 즉 선입선출 방식으로 관리하는 선형 자료구조다.
- 구조: 한쪽 끝(앞)에서 데이터가 들어가고, 다른 쪽 끝(뒤)에서 데이터가 나오는 양방향 구조다.
- 주요 연산:
- enqueue (또는 offer): 큐의 뒤쪽에 데이터를 추가한다.
- dequeue (또는 poll): 큐의 앞쪽에서 데이터를 제거하고 반환한다.
- peek: 큐의 가장 앞에 있는 데이터를 제거하지 않고 확인한다.
- 비유: 편의점 워크인을 예시로 들자면, 워크인 안(앞)에 들어가서 음료수를 채워 넣으면 손님은 냉장고 앞(뒤)에 있는 음료수를 하나씩 꺼낸다.
'JAVA' 카테고리의 다른 글
| [JAVA] final이란? (0) | 2025.09.17 |
|---|---|
| [JAVA] static에 대하여 알아보자. (0) | 2025.09.16 |
| [JAVA] 자바의 메모리 구조(feat. 클래스 로딩과 인스턴스 생성) (0) | 2025.09.14 |
| [JAVA] 캡슐화란? (0) | 2025.09.14 |
| [JAVA] 접근 제어자란? (0) | 2025.09.13 |