Stack (스택)
·
Software Engineering/Software Development Principles
Stack?Stack(스택)은 메모리의 영역 중 하나로 지역 변수와 매개변수가 저장되는 영역입니다. 스택 영역은 함수의 호출과 함께 할당되며, 함수의 호출이 완료되면 소멸하게 됩니다.함수가 호출되면 스택에는 함수의 매개변수, 호출이 끝난 뒤 돌아갈 반환 주소값, 함수에서 선언된 지역 변수 등이 저장됩니다. 이렇게 스택 영역에 차례대로 저장되는 함수의 호출 정보를 스택 프레임(Stack Frame)이라고 합니다. 스택은 한 쪽 끝에서만 자료를 넣거나 뺄 수 있는 선형구조이며 후입 선출(LIFO - Last In First Out) 구조로 되어 있습니다. 자료를 넣는 과정을 '밀어 넣는다' 라고 하여 푸쉬(Push)라고 하며 반대로 넣어둔 자료를 꺼내는 것을 팝(Pop) 이라고 합니다. 이때 나중에(최근에..