가상함수
-
가상 함수와 가상 함수 테이블개발/C·C++ 2019. 12. 11. 20:07
C++은 C에 객체지향 개념이 도입된 언어다. C++은 기본적으로 정적타입의 언어이기 때문에 컴파일 단계에서 변수의 타입을 결정한다. 실행 시간이 아니라 컴파일 시간에 오류를 발견할 수 있으므로 안정성이 좋다. 대신에 일단 컴파일이 끝나면 변경할 수 있는 것이 없다. 무언가 변경됐다면 컴파일을 다시 해야 한다. 적응성이 떨어질 수밖에 없다. 동적타입의 언어는 컴파일러가 없는 인터프리터 언어인 파이썬 등을 말하는데 실행 시간에 변수의 값에 의해 타입이 결정된다. 가장 큰 장점은 유연성이다. 대신에 문법적인 이해나 경험이 부족하다면 안정성을 보장할 수 없다. C++에서 virtual 키워드는 동적 바인딩을 위해 사용된다. 바인딩이란 프로그램 구성 요소의 성격을 결정해주는 것을 말하는데, C++은 정적타입의 ..