[c++] C++에서의 인터페이스 정의
C++에서는 인터페이스를 정의하기 위해 추상 클래스(abstract class)와 순수 가상 함수(pure virtual functions)를 사용합니다.
인터페이스는 클래스가 제공하는 메서드들의 집합으로, 클래스의 기능을 외부에 공개하고 상호작용할 수 있는 방법을 제공합니다.
추상 클래스 선언
추상 클래스는 순수 가상 함수를 포함하는 클래스로, 인터페이스를 정의하는 데 사용됩니다. 다음은 추상 클래스의 예시입니다.
class Interface {
public:
virtual void method1() = 0;
virtual int method2(int param) = 0;
virtual void method3() = 0;
};
위의 예제에서 Interface
클래스는 순수 가상 함수 method1
, method2
, method3
을 포함하여 인터페이스를 정의하고 있습니다.
추상 클래스 상속
추상 클래스를 상속받는 클래스는 모든 순수 가상 함수를 구현하여야 합니다. 예를 들면:
class MyClass : public Interface {
public:
void method1() override {
// 구현
}
int method2(int param) override {
// 구현
return param;
}
void method3() override {
// 구현
}
};
위의 MyClass
는 Interface
를 상속받아 method1
, method2
, method3
를 모두 구현하고 있습니다.
이처럼 C++에서는 추상 클래스와 순수 가상 함수를 사용하여 인터페이스를 정의하고 상속함으로써 클래스 간의 상호작용을 구현할 수 있습니다.
자세한 내용은 C++ 공식 문서를 참조하시기 바랍니다.
cppreference.com - Abstract class