[c++] 추상 클래스와 일반 클래스의 차이

C++에서 추상 클래스와 일반 클래스는 각각 다른 목적을 가지고 있습니다. 이 둘의 차이를 살펴보겠습니다.

일반 클래스 (Regular Class)

설명

일반 클래스는 완전한 형태의 클래스로, 객체를 직접 생성할 수 있습니다. 이 클래스는 모든 멤버 함수에 대한 정의를 포함하고 있어야 합니다.

예시

class RegularClass {
public:
    void regularFunction() {
        // 일반 클래스의 멤버 함수 정의
    }
};

추상 클래스 (Abstract Class)

설명

추상 클래스는 하나 이상의 순수 가상 함수(abstract function)를 가지고 있으며, 이 클래스의 객체를 직접 생성할 수 없습니다. 대신 상속받은 파생 클래스에서 이 순수 가상 함수를 구현해야 합니다.

예시

class AbstractClass {
public:
    virtual void abstractFunction() = 0;
};

결론

일반 클래스는 객체를 생성하고 모든 멤버 함수에 대한 구현을 제공하는 데 주로 사용됩니다. 반면, 추상 클래스는 인터페이스를 정의하고 파생 클래스에서 공통적인 동작을 강제하는 데 사용됩니다.

이러한 차이로 인해 각 클래스 유형은 다른 목적으로 사용되며, 상황에 맞게 적합한 클래스를 선택해야 합니다.

참고 자료