1.콜 스택(Call Stack)
프로그램 실행 중 함수 호출을 관리하는 데이터 구조
함수 호출 시마다 해당 함수가 콜 스택에 쌓이고, 함수 실행이 완료되면 스택에서 제거된다.
public class CallStackExample {
public static void main(String[] args) {
functionA(); // main에서 functionA 호출
}
public static void functionA() {
functionB(); // functionA에서 functionB 호출
}
public static void functionB() {
// 현재 스레드의 콜 스택 출력
StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
System.out.println("Current Call Stack:");
for (StackTraceElement element : stackTrace) {
System.out.println(element);
}
}
}
Current Call Stack:
java.base/java.lang.Thread.getStackTrace(Thread.java:1606)
CallStackExample.functionB(CallStackExample.java:13)
CallStackExample.functionA(CallStackExample.java:9)
CallStackExample.main(CallStackExample.java:5)
'Computer Science > 개발지식' 카테고리의 다른 글
[개발지식] 가비지 컬렉터(Garbage Collector, GC) (0) | 2025.01.06 |
---|---|
[개발지식] 커링 (Currying) (0) | 2025.01.05 |
[개발지식] 콜백 함수 (Callback Function) (0) | 2025.01.05 |