[c++] 추상 클래스의 특징

C++에서 추상 클래스는 다음과 같은 특징을 갖습니다:

  1. 순수 가상 함수: 추상 클래스는 하나 이상의 순수 가상 함수를 포함합니다. 순수 가상 함수란 구현이 없이 선언만 있는 가상 함수를 말합니다.

  2. 인스턴스 생성 불가: 추상 클래스는 직접 객체를 생성할 수 없습니다. 대신, 해당 클래스를 상속하고 순수 가상 함수를 구현한 파생 클래스를 통해 객체를 생성할 수 있습니다.

  3. 인터페이스 제공: 추상 클래스는 주로 인터페이스의 역할을 합니다. 즉, 해당 클래스의 인스턴스를 이용하여 특정 동작들을 정의하고, 각 동작들에 대한 구현을 파생 클래스에서 수행할 수 있도록 합니다.

예를 들어, 다음은 추상 클래스의 예제입니다:

class Shape {
public:
    virtual double calculateArea() = 0;
    virtual double calculatePerimeter() = 0;
};

class Rectangle : public Shape {
public:
    double calculateArea() override {
        // 사각형의 면적을 계산하는 코드
    }

    double calculatePerimeter() override {
        // 사각형의 둘레를 계산하는 코드
    }
};

여기서 Shape 클래스는 순수 가상 함수인 calculateAreacalculatePerimeter를 가지고 있으며, 이를 구현하는 Rectangle 클래스를 정의합니다.

이는 추상 클래스의 간단한 예제이며, 이러한 디자인 패턴은 더 복잡한 시스템에서 사용되어집니다.

추상 클래스를 활용하여 다형성을 구현하거나 객체의 인터페이스를 명확히 정의함으로써 코드의 유연성을 높일 수 있습니다.

참고문헌: