프로그래밍 언어/자바의 정석 기초편
자바의 정석 기초편 ch6-22 호출스택
life grow
2022. 7. 29. 15:57
6-22 호출스택
스택(stack): 밑이 막힌 상자. 위에 차곡차곡 쌓인다.
호출스택: 메서드 수행에 필요한 메모리가 제공되는 공간
메서드가 호출되면 호출스택에 메모리 할당, 종료되면 해제
아래 있는 메서드(main)가 위의 메서드(println)를 호출한 것
맨 위의 메서드 하나만 실행 중, 나머지는 대기중
아래 프로그램이 실행될 때 호출 스택의 변화 과정
1. 스택 비어있다.
2. main메서드가 올라간다.
3. main메서드가 println메서드 호출한다.
여기서 main메서드는 대기상태가 되고 println메서드는 실행상태가 된다.
화면에 Hello라고 출력을 하고 작업을 마치고 메모리를 반환하고
스택에서 println메서드가 사라진다.
4. println메서드를 호출한 main메서드로 돌아간다.
대기 상태에 있던 main메서드가 다시 실행상태로 바뀐다.
5. 더 이상 실행할 문장이 없어 main메서드도 종료되고
스택도 완전히 비워지고 프로그램이 종료된다.
예제 분석할 때 단계별로 그림을 그려보자