[c++] 인터페이스와 클래스의 결합 방법
C++에서는 인터페이스와 클래스를 결합하여 다양한 유연성을 제공할 수 있습니다. 이 기능을 통해 코드 재사용성을 높일 수 있고, 계층 구조를 잘 표현할 수 있습니다. 이번에는 C++에서 인터페이스와 클래스를 어떻게 결합하는지에 대해 살펴보겠습니다.
1. 인터페이스 정의
C++에서 인터페이스는 클래스와는 다르게 순수 가상 함수만을 정의한 추상 클래스입니다. 일반적으로 다음과 같이 선언됩니다.
class Interface {
public:
virtual void doSomething() = 0;
virtual int calculate(int a, int b) = 0;
// ...
};
2. 클래스에서 인터페이스 상속
인터페이스를 사용하기 위해 클래스에서 해당 인터페이스를 상속받아야 합니다. 예를 들어, 다음과 같이 클래스에서 인터페이스를 구현할 수 있습니다.
class MyClass : public Interface {
public:
void doSomething() override {
// 구현
}
int calculate(int a, int b) override {
return a + b;
}
};
3. 인터페이스를 이용한 다형성 구현
클래스가 특정 인터페이스를 상속받으면, 해당 인터페이스를 자료형으로 사용할 수 있습니다. 이를 이용하면 다형성(polymorphism)을 구현할 수 있습니다.
void performAction(Interface* obj) {
obj->doSomething();
}
int main() {
MyClass obj;
performAction(&obj);
return 0;
}
종합
C++에서 인터페이스와 클래스를 결합하는 방법을 알아보았습니다. 이러한 방식을 통해 코드를 모듈화하고, 응집성 있는 구조를 유지할 수 있습니다. 인터페이스를 통한 다형성을 활용하여 유연하고 확장 가능한 코드를 작성할 수 있습니다.
더 많은 내용을 학습하기 위해, GeeksforGeeks 등의 자료를 참고하시기 바랍니다.