C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[1303] [답변] ZPIKNC86/ dynamic에 대하여..../프포
박지훈.임프 [cbuilder] 3435 읽음    1999-05-06 14:23
안녕하세요. 천리안 프로그래머 포럼 C++Builder 담당 임펠리테리입니다.

말씀하신대로 dynamic은 virtual과 대체로 비슷한 역할을 하는 예약어입니다.

질문하신 걸로 봐서 virtual로 선언된 함수와 일반적인 함수의 차이점은 아시는 것

같군요. virtual 함수는 지연 바인딩으로 인해 컴파일타임이 아닌 런타임에 바인딩할

함수가 결정된다는 것은 아시죠? dynamic도 마찬가지로 런타임에 바인딩이 되는데요.

한가지 중요한 차이점은, virtual의 경우, 최초의 베이스클래스에서 virtual로 선언

되었으면 그로부터 상속받는 모든 클래스의 해당 함수는 그 함수의 가상테이블 엔트

리를 가지지만, dynamic의 경우엔 엔트리를 오직 최초의 베이스클래스에서만 가진다

는 것입니다. 당연히 가상테이블의 공간은 절약할 수 있지만, dynamic으로 선언된

함수가 실제로 어디에 존재하는가를 알아내기 위해서는 상속단계의 모든 클래스를

뒤적거려야하므로 런타임에서 그만큼의 지연될 수 있습니다.

빌더의 헬프를 보시면 이 차이점이 간략히 설명되어 있고, 간단한 예제도 있을겁니다.

그럼 참고하시길..



임펠리테리 박지훈이었습니다.

(cbuilder, cbuilder@thrunet.com)



+ -

관련 글 리스트
1300 [질문] dynamic에 대하여..../프포 zpiknc86 3468 1999/05/05
1303     [답변] ZPIKNC86/ dynamic에 대하여..../프포 박지훈.임프 3435 1999/05/06
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.