프로그래밍 언어론 · 8강

서브프로그램

함수를 부르면 무슨 일이 일어나는지, 값은 어떻게 넘어가고 지역 변수는 어디에 놓이는지를 봅니다. 프로그래밍을 한 번쯤 해 본 사람을 위해 9편으로 나눠 따라갑니다.

  1. 1함수를 부르면 무슨 일이 일어날까?두 가지 추상화, 호출과 반환, 프로시저와 함수
  2. 2함수의 첫 줄에는 무엇이 적혀 있을까?정의, 헤더, 형식·실 매개변수, 프로토콜, 선언
  3. 3값은 어느 자리로 들어갈까?위치 대응과 키워드 대응, 기본값, 가변 개수
  4. 4함수 안의 변수는 어디에 살까?지역 참조 환경, 스택 동적 지역 변수와 정적 지역 변수
  5. 5sub(x)를 부르면 x가 바뀔까?전달의 의미 모델, 값 전달, 결과 전달
  6. 6안에서 바꾸면 밖도 바뀔까?값-결과 전달, 참조 전달과 앨리어스, 이름 전달
  7. 7언어들은 어떤 방식을 골랐을까?언어별 전달 방식, 타입 검사, 다차원 배열
  8. 8함수를 값처럼 넘기면?매개변수가 된 서브프로그램, 간접 호출, 중복 정의
  9. 9하나만 써 두고 여러 타입에 쓰려면?제네릭 서브프로그램, 클로저, 코루틴

내용과 예제는 Robert W. Sebesta의 《Concepts of Programming Languages》 12판 9장을 따랐습니다.