[c++] 추상 클래스의 사용 목적

추상 클래스는 C++에서 다형성(polymorphism)을 제공하기 위해 사용됩니다. 추상 클래스는 한 개 이상의 순수 가상 함수(pure virtual function)를 포함하고 있으며, 이를 통해 파생 클래스들이 각각의 형태에 맞게 함수를 재정의할 수 있습니다.

추상 클래스의 주요 목적

  1. 다형성(Polymorphism): 추상 클래스는 파생 클래스들이 각자의 형태에 맞게 함수를 구현할 수 있도록 합니다.
  2. 인터페이스 정의: 추상 클래스는 순수 가상 함수들을 통해 특정 인터페이스의 정의를 제공합니다.

추상 클래스와 순수 가상 함수의 예시

class Shape {
public:
    // 순수 가상 함수를 통해 추상 클래스 정의
    virtual double getArea() const = 0;
    virtual double getPerimeter() const = 0;
};

class Circle : public Shape {
private:
    double radius;
public:
    Circle(double r) : radius(r) {}
    double getArea() const override {
        return 3.14 * radius * radius;
    }
    double getPerimeter() const override {
        return 2 * 3.14 * radius;
    }
};

class Rectangle : public Shape {
private:
    double width, height;
public:
    Rectangle(double w, double h) : width(w), height(h) {}
    double getArea() const override {
        return width * height;
    }
    double getPerimeter() const override {
        return 2 * (width + height);
    }
};

요약

추상 클래스와 순수 가상 함수는 C++에서 다형성을 활용하고, 인터페이스를 정의하는 데 중요한 역할을 합니다. 이를 통해 코드 재사용과 유연한 설계가 가능해지며, 객체 지향 프로그래밍에서 핵심적인 개념입니다.

참고 자료