안녕하세요. 천리안 프로그래머포럼 C++Builder 담당자 임펠리테리입니다.
DYNAMIC으로 선언된 함수는 일반적으로 virtual 키워드와 비슷하게 동작합니다.
저도 자세히 안다고는 할 수 없지만.. 아는대로만 설명해보죠.
virtual로 선언된 함수는, 상속단계에서 그 함수가 선언된 모든 클래스들의 가상
메소드 테이블(virtual table)에 엔트리를 가지게 됩니다. 하지만 DYNAMIC으로 선언
된 함수는 최종적으로 그 함수가 선언된 마지막 클래스에만 엔트리를 가지죠.
그래서 DYNAMIC은 virtual 함수의 속도가 느린 점을 많이 보완해줍니다.
(virtual 함수는 해당 함수를 찾을때까지 모든 상속단계상의 클래스들을 뒤적거리므
로 속도가 상당히 느립니다.)
단, DYNAMIC 은 vcl 에서 새로이 만들어낸 키워드이고 vcl 의존적이므로, TObject
에서 상속받은 클래스에서만 사용이 가능합니다.
그럼 참고하시길...
독립문에서 임펠리테리였습니다.
(cbuilder, cbuilder@thrunet.com)
|