프로그래밍언어/C++
[C++] 상속 (2)
qkzkdo
2023. 9. 17. 21:10
728x90
정적 연결
포인터 혹은 참조에 의하여 함수가 호출될 때, 일반적으로 포인터의 유형에 따라 호출되는 멤버함수가 결정되는 방식
동적 연결과 가상 함수
프로그램이 실행될 때 실제 객체에 따라 멤버함수를 결정하는 방법
가상함수는 다음과 같이 기초 클래스의 함수 앞에 예약어 virtual을 붙여 표현한다.
virtual ReturnType functionName(fParameterList);
※ ReturnType : 멤버 함수의 반환 자료형
※ functionName : 멤버함수의 이름
※ fParameterList : 멤버함수의 형식 매개변수 목록
상속관계에 있는 클래스들에 속하는 객체의 포인터 또는 참조 사이에 형 변환이 일어날 수 있다. 이때 파생 클래스를 기초 클래스로 변환하는 것을 업캐스팅이라 하고, 반대로 기초 클래스를 파생 클래스로 변환하는 것을 다운캐스팅이라고 한다.
순수가상함수
몸체가 없는 가상함수
추상 클래스
어떠한 클래스가 순수가상함수를 포함하고 있다면 그 클래스는 객체를 만들 수 없다.
상세 클래스
모든 순수가상함수가 재정의되어 더 이상 순수가상함수가 포함되지 않은 파생 클래스(실체가 있다)
다중상속
2개 이상의 기초 클래스를 상속받는 것
출처 : 전중남·이병래. 「C++프로그래밍」. 한국방송통신대학교출판문화원. 2020
728x90