재귀(Recursion) 어떤 함수(혹은 프로시져, 서브 프로그램)에서 직접적으로 혹은 간접적으로 자기 자신 함수를 다시 호출하는 것. 무한 재귀에 빠지지 않도록 base case를 잘 정해주고, 반복되는 부분은 recursive step로 정의해준다. Function call stack 프로그램 중 함수를 호출하면 (Context switching) 지금 실행중인 함수의 지역변수 등 가지고 있는 정보를 저장해두어야 한다. 그리고 새로운 함수 수행이 완료되면 다시 원래의 함수로 제어가 돌어오고, 기존의 정보를 복원해서 사용하여야 한다. 이때 현재 함수가 가지고 있던 정보를 저장하는 연속적인 메모리 공간을 activation record라고 하고, 이 activation record를 call stack ..