[c++] C++에서 추상 클래스와 인터페이스의 사용 규칙
C++는 객체 지향 프로그래밍을 지원하는 다목적 프로그래밍 언어로, 추상 클래스와 인터페이스를 사용하여 다형성을 구현할 수 있습니다. 이 글에서는 C++에서 추상 클래스와 인터페이스를 정의하고 사용하는 규칙에 대해 알아보겠습니다.
1. 추상 클래스란 무엇인가?
추상 클래스는 최소 한 개 이상의 순수 가상 함수를 포함하는 클래스입니다. 순수 가상 함수는 함수 몸체가 없는 가상 함수로, 파생 클래스에서 재정의해야 합니다. 추상 클래스는 다형성을 지원하기 위한 용도로 주로 사용됩니다.
class AbstractClass {
public:
virtual void foo() = 0; // 순수 가상 함수
virtual void bar() { // 일반 가상 함수
// 일반 함수의 내용
}
};
2. 인터페이스란 무엇인가?
C++에서는 명시적으로 인터페이스를 정의할 수 없지만, 순수 가상 함수로만 이루어진 추상 클래스를 인터페이스로 간주할 수 있습니다. 인터페이스는 클래스의 동작 규격을 정의하며, 구현을 강제합니다.
class Interface {
public:
virtual void method1() = 0;
virtual void method2() = 0;
// 순수 가상 함수만 포함
};
3. 추상 클래스와 인터페이스의 사용 규칙
- 추상 클래스: 파생 클래스가 부모 클래스의 일부 기능을 공유할 때 사용됩니다.
- 인터페이스: 다중 상속을 피하면서 클래스가 여러 타입으로 동작할 수 있도록 정의할 때 사용됩니다.
더 자세한 내용은 CPP Reference에서 확인할 수 있습니다.
이상으로 C++에서 추상 클래스와 인터페이스를 정의하고 사용하는 규칙에 대해 알아보았습니다. 감사합니다!