Nagie's DevStory
[CPP] 30. 가상 함수 (Virtual Function) 본문
728x90
가상 함수(virtual function)는 C++의 객체 지향 프로그래밍에서
다형성(polymorphism)을 구현하는 데 사용되는 중요한 개념이다.
사용하는 방법은 어렵지 않다. 클래스 내에서 선언 할 때 'virtual' 키워드를 사용해 선언해 주면 된다.
아래는 가상 함수를 선언하는 예시다.
class Base {
public:
virtual void myFunction() {
// 가상 함수의 기본 구현
}
};
'virtual' 키워드를 사용해 함수를 구현하게 되면 파생 클래스에서 재정의가 가능하게 되는데
이땐 'override' 키워드를 사용해야 한다.
class Derived : public Base {
public:
void myFunction() override {
// 가상 함수의 파생 클래스에서의 구현
}
};
이렇게 가상함수를 사용하면 런타임중 객체 유형에 따라 알맞은 함수가 호출되므로 다형성을 만족할 수 있게 된다.
또한 클래스 계층 구조에서 확장성과 유지 보수성이 향상되니 잘 알고 있어야 한다.
728x90
Comments