[C++] interface와 abstract class

interface

해당 인터페이스 구현 객체들의 동일한 동작을 약속하기 위해 사용한다
순수 가상 함수만 멤버로 가진다
인터페이스를 상속한 클래스는 순수 가상 함수의 구현 강제성을 가진다
생성자와 소멸자가 존재하지 않는다

1
2
3
4
5
6
class myInterface{
public:
virtual void function1() abstract;
virtual void function2() = 0;
virtual void function3() = NULL;
}

abstract class

상속받은 클래스들의 기능 확장을 위해 사용한다
하나 이상의 순수 가상 함수를 포함한다
생성자와 소멸자가 존재한다

1
2
3
4
5
6
7
8
class myVirtualclass{
public:
myVirtualclass();
virtual ~myVirtualclass();
virtual void funtion() abstract;
void function2();
int data;
}
Author: Song Hayoung
Link: https://songhayoung.github.io/2020/08/03/Languages/Cplusplus/interface-abstractclass/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.