[c++] 인터페이스의 상속과 구현

C++에서는 인터페이스를 정의하기 위해 순수 가상 함수(Virtual Function)을 사용합니다. 인터페이스를 정의하고 상속하는 방법에 대해 알아봅시다.

인터페이스 정의

인터페이스를 정의하기 위해 class 키워드를 사용하고, 순수 가상 함수로 이루어진 가상 클래스를 만듭니다.

class Interface {
public:
    virtual void doSomething() = 0;
    virtual int calculateSomething(int x, int y) = 0;
};

위의 예제에서 Interface 클래스는 doSomethingcalculateSomething 두 개의 순수 가상 함수를 정의합니다.

인터페이스 상속

정의한 인터페이스를 상속하기 위해서는 class 키워드 뒤에 콜론(:)을 붙이고, 상속하려는 인터페이스의 이름을 명시합니다.

class Derived : public Interface {
public:
    void doSomething() override {
        // 구현 내용
    }

    int calculateSomething(int x, int y) override {
        // 구현 내용
    }
};

Derived 클래스가 Interface를 상속하고, 순수 가상 함수들을 구현하고 있음을 볼 수 있습니다.

인터페이스 구현

인터페이스를 상속받은 클래스는 순수 가상 함수들을 반드시 구현해야 합니다. 그렇지 않으면 컴파일 에러가 발생하게 됩니다.

결론

C++에서는 인터페이스를 상속하고 구현하는 방법을 살펴보았습니다. 인터페이스는 다형성을 지원하며, 객체 간의 결합도를 낮추는데 중요한 역할을 합니다.

참고문헌: cplusplus.com