C++ 다형성: 추상 클래스, 가상 함수, 가상 함수 테이블의 동작 원리
다형성의 개념
다형성이란 동일한 인터페이스를 통해 서로 다른 객체가 각자의 방식으로 동작하게 하는 메커니즘이다. 예를 들어 '결제'라는 행위를 일반 회원, 학생, 군인이 각각 수행할 때 전액, 할인, 우선 결제로 서로 다른 결과를 낸다. 이처럼 동일한 메시지에 대해 객체의 타입에 따라 다른 동작이 유발되는 것이 다형성이다.
다형성의 구성 조건
C++에서 상속 관 ...
9월 7일 21:03에 게시됨
단일 상속 구조에서 가상 함수 테이블의 구성
C++의 객체 지향 프로그래밍에서 가상 함수는 다형성을 구현하는 핵심 요소입니다. 이전 글에서는 단일 클래스의 가상 함수 테이블 구조를 살펴보았고, 이번에는 일반적인 단일 상속 관계에서 가상 함수 테이블이 어떻게 구성되는지 분석해보겠습니다.
예제 코드
#include <iostream>
#include <typeinfo>
class BaseClass {
public:
BaseClass() {}
...
8월 13일 11:28에 게시됨
C++ 다형성의 개념과 동작 원리 심층 분석
1. 다형성의 개념
다형성(Polymorphism)은 동일한 인터페이스를 통해 다양한 타입의 객체가 서로 다른 방식으로 동작할 수 있게 하는 객체지향 프로그래밍의 핵심 개념입니다. C++에서는 크게 두 가지 형태의 다형성을 지원합니다.
컴파일 타임 다형성(정적 다형성): 함수 오버로딩과 템플릿이 대표적입니다. 함수 이름은 같지만 매개변수의 타입이나 개수가 다를 때, 컴 ...
7월 26일 12:33에 게시됨