[c++] 추상 클래스의 예시 및 활용 사례

C++에서 추상 클래스는 하나 이상의 순수 가상 함수를 포함하는 클래스입니다. 이러한 클래스는 객체를 생성할 수 없으며, 대신 이러한 함수를 파생 클래스에서 구현하도록 강제합니다.

예시

#include <iostream>

// 추상 클래스 정의
class Shape {
public:
    virtual void draw() = 0;  // 순수 가상 함수
    virtual double area() = 0;  // 순수 가상 함수
};

// 추상 클래스를 상속받아 파생 클래스 정의
class Circle : public Shape {
public:
    void draw() override {
        std::cout << "Drawing Circle" << std::endl;
    }

    double area() override {
        return 3.14 * radius * radius;
    }

private:
    double radius;
};

위의 코드에서 Shape 클래스는 drawarea라는 순수 가상 함수를 포함하고 있습니다. 이는 Shape 클래스를 추상 클래스로 만들어 파생 클래스에서 이러한 함수들을 반드시 구현하도록 합니다.

활용 사례

이러한 방식으로 추상 클래스는 객체 지향 프로그래밍에서 유연하고 확장 가능한 설계를 할 수 있도록 도와줍니다.

참고 자료