열렬히.뛰기

추상클래스와 인터페이스

Language > 프로그래밍 언어 > C++ > Cpp : 기초 > 추상클래스와 인터페이스

추상클래스

자식 클래스에서 재정의를 할 것으로 기대하는 클래스.

  • 하나 이상의 순수 가상함수를 포함하는 클래스
cpp
class A {
	public:
		virtual void foo() = 0; // 순수 가상함수
		virtual int foo2();     // 가상함수
		float foo3();           // 멤버함수
} 

인터페이스

순수 가상함수로만 이뤄진 클래스. 멤버변수나 구현된 멤버함수가 전혀 없다.

C++ 내에는 직접적인 인터페이스가 없지만, 순수 가상함수만 가지고 인터페이스를 구현할 수 있다.

cpp
class A {
	public:
		virtual void foo() = 0;
		virtual int foo2() = 0;
		virtual float foo3() = 0
}