[c++] 추상 클래스의 순수 가상 함수

추상 클래스는 하나 이상의 순수 가상 함수를 포함하는 클래스입니다. 순수 가상 함수는 함수 본문이 없는 가상 함수로, 파생 클래스에서 오버라이딩해야 합니다. 이를 통해 추상 클래스는 실제로 객체로 생성될 수 없고, 파생 클래스에서만 구현될 수 있도록 만들 수 있습니다.

class Shape {
public:
    virtual double area() = 0; // 순수 가상 함수
    virtual void draw() = 0; // 순수 가상 함수
    // 다른 멤버 함수들
};

class Circle : public Shape {
public:
    double area() override {
        // 원의 넓이 계산
    }

    void draw() override {
        // 원 그리기
    }
    // 다른 멤버 함수들
};

위의 예시에서 Shape 클래스는 추상 클래스로, areadraw는 순수 가상 함수입니다. Circle 클래스는 Shape를 상속하고, 순수 가상 함수들을 구현하여 실제로 객체로 생성될 수 있게 합니다.

순수 가상 함수의 활용

순수 가상 함수를 사용하면 다형성을 활용하여 더욱 유연하고 확장 가능한 코드를 작성할 수 있습니다. 또한, 인터페이스를 정의하여 파생 클래스들이 특정 기능을 반드시 구현하도록 강제할 수 있습니다.

결론

추상 클래스의 순수 가상 함수는 파생 클래스에서 반드시 구현해야 하는 함수를 정의할 수 있도록 도와주며, 다형성과 인터페이스를 활용하여 프로그램의 유연성을 높일 수 있습니다.


참고: cplusplus.com - Pure virtual functions and abstract classes