C++/C++ 가상 함수, 순수 가상 함수, 추상 클래스

순수 가상 함수 C++ 가상 함수(virtual function)는 파생 클래스에서 재정의할 것으로 기대하는 멤버 함수를 의미한다. 이와는 달리 순수 가상 함수(pure virtual function)란 파생 클래스에서 반드시 재정의해야 하는 멤버 함수를 의미한다. 따라서 파생 클래스에서 재정의하지 않으면 사용 불가능. 순수 가상 함수는 virtual 키워드와 함께 = 0으로 표시된다. → 즉 virtual 키워드만 있으면 가상 함수이고 =0이 같이 붙으면 순수 가상 함수라는 말임. class Base { public: virtual void pureVirtualFunction() const = 0; }; 추상 클래스 C++에서는 하나 이상의 순수 가상 함수를 포함하는 클래스를 추상 클래스(abstrac..
가상 함수란 가상함수는 부모 클래스에서 상속받을 클래스에서 재정의할 것으로 기대하고 정의해놓은 함수이다. virtual이라는 예악어를 함수 앞에 붙여서 생성할 수 있으며 이렇게 생성된 가상함수는 파생 클래스에서 재정의하면 이전에 정의되었던 내용들은 모두 새롭게 정의된 내용들로 교체된다. 이렇게 설명을 들으면 오버라이딩이랑 비슷하다고 생각할 수 있는데 아니다. 일단 가상 함수를 쓰는 이유는 업 캐스팅을 할 때 많이 사용하는 것으로 생각하면 될 것이다 업 캐스팅이란? 부모 클래스를 가리키는 포인터를 선언한 후 그 변수에 자식을 넣어주는 것이다. 코드를 보며 설명을 해보겠다. class Animal { int hp; inthunger; virtual ~Animal(); virtual getHP() return..
재윤
'C++/C++ 가상 함수, 순수 가상 함수, 추상 클래스' 카테고리의 글 목록