[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 {
        // 구현
    }
};

위의 MyClassInterface를 상속받아 method1, method2, method3를 모두 구현하고 있습니다.

이처럼 C++에서는 추상 클래스와 순수 가상 함수를 사용하여 인터페이스를 정의하고 상속함으로써 클래스 간의 상호작용을 구현할 수 있습니다.

자세한 내용은 C++ 공식 문서를 참조하시기 바랍니다.

cppreference.com - Abstract class