[c++] 추상 클래스의 사용 목적
추상 클래스는 C++에서 다형성(polymorphism)을 제공하기 위해 사용됩니다. 추상 클래스는 한 개 이상의 순수 가상 함수(pure virtual function)를 포함하고 있으며, 이를 통해 파생 클래스들이 각각의 형태에 맞게 함수를 재정의할 수 있습니다.
추상 클래스의 주요 목적
- 다형성(Polymorphism): 추상 클래스는 파생 클래스들이 각자의 형태에 맞게 함수를 구현할 수 있도록 합니다.
- 인터페이스 정의: 추상 클래스는 순수 가상 함수들을 통해 특정 인터페이스의 정의를 제공합니다.
추상 클래스와 순수 가상 함수의 예시
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++에서 다형성을 활용하고, 인터페이스를 정의하는 데 중요한 역할을 합니다. 이를 통해 코드 재사용과 유연한 설계가 가능해지며, 객체 지향 프로그래밍에서 핵심적인 개념입니다.