반응형
✅ 스택(Stack)이란?
“나중에 넣은 게 먼저 나오는 구조”
즉, LIFO 구조
👉 Last In, First Out (마지막에 들어간 게 먼저 나옴)
🎂 아주 쉬운 비유
접시를 쌓는다고 생각해봐!
- 첫 번째 접시 → 아래
- 두 번째 접시 → 위에
- 세 번째 접시 → 맨 위에
👉 꺼낼 땐?
→ 맨 위에 있는 세 번째 접시부터 꺼내야 해!
🧱 구조 흐름
동작설명
push() | 데이터를 스택 위에 넣는 것 |
pop() | 스택 위에서 꺼내는 것 |
peek() | 꺼내지 않고, 맨 위 값을 확인만 하는 것 |
🎯 자바에서 스택은 언제 쓰일까?
상황예시
메서드 호출 | 메서드를 부르면 스택에 쌓였다가, 끝나면 빠짐 |
괄호 검사 | 열고 닫는 괄호가 짝 맞는지 검사할 때 |
되돌리기 | 뒤로가기 기능 (이전 상태를 스택에 저장) |
재귀 호출 | 함수가 자기 자신을 반복 호출할 때도 스택 사용 |
🧠 한 줄 요약
스택은 "나중에 넣은 게 먼저 나오는 상자" 같은 구조임.
자바는 메서드 실행도 이 스택 구조를 사용해서 관리함!
✅ LIFO란?
Last In, First Out
👉 “마지막에 들어간 게 가장 먼저 나오는 구조”
🧁 비유로 설명하면?
📦 예: 박스를 위로 쌓는 상황
- 첫 번째 박스 → 아래
- 두 번째 박스 → 위
- 세 번째 박스 → 맨 위
👉 꺼낼 땐?
→ 맨 위 세 번째 박스부터 꺼내야 해!
즉, **"나중에 넣은 것부터 먼저 꺼내는 구조"**가 바로 LIFO야.
🧠 어디서 쓰일까?
사용 예시설명
메서드 호출 스택 | 함수가 호출되면 스택에 쌓였다가, 끝나면 차례대로 제거 |
웹 브라우저 뒤로 가기 | 최근에 본 페이지부터 거꾸로 돌아감 |
괄호 검사 | 여는 괄호가 들어간 순서의 반대로 닫혀야 함 |
🧩 비교: LIFO vs FIFO
구조설명예시
LIFO | Last In, First Out | 스택, 접시 더미 🍽️ |
FIFO | First In, First Out | 큐, 줄 서기 🧍♂️🧍♀️ |
🎯 한 줄 요약
LIFO = 나중에 들어간 게 먼저 나오는 구조
(= 스택 구조의 원리)
#스택 #Stack #자료구조 #LIFO #자바스택 #코딩기초 #컴퓨터구조 #자바자료구조 #push #pop #peek #메서드스택 #스택구조 #자바공부 #재귀호출 #뒤로가기기능 #괄호검사 #스택예제 #자바기초 #프로그래밍입문
반응형
'프로그래밍 > JAVA' 카테고리의 다른 글
java 에서 사용하는 디자인 패턴 (0) | 2025.04.11 |
---|---|
코드쓸때 언제 대문자를 적지 ?? (0) | 2025.04.11 |
컨스트럭터(Constructor)란? (0) | 2025.04.11 |
Garbage Collector 란? (0) | 2025.04.11 |
java "생성자" (0) | 2025.04.11 |