본문/내용
함수의 바인딩 - 함수를 만들어서 컴파일하면, 각각의 코드가 기계어 명령어로 번역되어 메모리 상의 어딘가에 저장이 된다. 그리고 이 함수를 호출하는 부분에는 이 함수가 위치한 메모리 번지가 저장된다.
프로그램을 실행하면, 차례로 명령어를 수행하다가 함수를 호출하는 부분을 만나면, 컴파일시 저장된 함수가 있는 메모리 번지로 점르를 해서 함수를 실행하고 원위치로 돌아온다.
이와 같이 함수를 호출하는 부분에 함수가 위치한 메모리 번지를 연결시켜 주는 일을 함수의 바인딩이라고 한다.
정적 바인딩 - 컴파일 할 때 호출될 함수로 점프할 번지가 결정되어 바인딩되는 것을 말한다. 호출한 함수를 컴파일할 때 함수 호출에 적절한 주소를 삽입하는 것이다. 정적 바인딩은 함수의 상대적 주소가 컴파일 동안에 알려진다는 것을 의미한다.
ex)
main()은 tripleIt()이라는 함수를 호출하고 tripleIt()은 prName()이라는 함수를 호출하다면, 프로그램은 두 함수 호출의 실행을 위해 정적 바인딩을 사용한다.
프로그램이 컴파일될 때 모든 주소들은 상대적이고, 그 주소들은 프로그램이 실행될 때는 절대적이 된다.
동적 바인딩 - 컴파일시는 호출될…