12. 클래스의 상속(3) - 정적 결합 vs 동적 결합

WanJu Kim·2022년 12월 14일
0

C++

목록 보기
51/81

함수 호출은 다른 말로 하면 특정 함수 코드를 실행하라는 뜻이고, 이는 또 다른 말로 "함수 이름을 결합(binding)한다"고 한다. 이 작업은 오버로딩 때문에 좀 어려워지는데, 함수 이름 뿐만 아니라 매개 변수도 조사해야 하기 때문이다. 어쨌든 이런 결합들을 컴파일 하는 도중에 수행할 수 있다. 이는 정적 결합(static binding) 혹은 초기 결합(early binding)이라 한다. 하지만 직접 코드를 실행 해봐야지 알 수 있는(전 포스팅에서 나왔던 기초 클래스-파생 클래스의 배열과 가상 함수) 바인딩들도 있다. 이런 결합들은 동적 결합(dynamic binding) 혹은 말기 결합(lately binding)이라 한다. 이 과정을 깊게 보자. (예전에 동적 할당을 사용하는 이유가 기억나는가? 크기가 100인 배열을 200개 미리 생성하는 것보다, 실행 도중에 크기에 맞는만큼만 알맞게 메모리를 배정하기 위해서 '동적' 할당을 사용한다고 했다.)

가상 테이블

profile
Question, Think, Select

0개의 댓글