[c++] 상속과 재사용

객체지향 프로그래밍에서 상속은 다른 클래스에서 정의한 속성과 메소드를 새로운 클래스에서 활용하는 중요한 개념입니다. 이를 통해 코드의 재사용성과 유지보수성이 향상됩니다.

상속의 개념

상속이란, 자식 클래스가 부모 클래스의 특징을 물려받는 것을 말합니다. 자식 클래스는 부모 클래스의 속성과 메소드를 직접 사용할 수 있으며, 필요에 따라 재정의하여 개별적인 동작을 구현할 수도 있습니다.

이를 통해 기존 클래스를 수정하지 않고 새로운 기능을 추가할 수 있으며, 코드 중복을 피하고 유연하고 확장 가능한 구조를 만들 수 있습니다.

상속의 예시

다음은 C++에서의 상속을 보여주는 간단한 예시입니다.

#include <iostream>
using namespace std;

// 부모 클래스
class Animal {
public:
    void sound() {
        cout << "Sound" << endl;
    }
};

// 자식 클래스
class Dog : public Animal {
public:
    void bark() {
        cout << "Woof! Woof!" << endl;
    }
};

int main() {
    Dog dog;
    dog.sound(); // 부모 클래스의 메소드 호출
    dog.bark(); // 자식 클래스의 메소드 호출
    return 0;
}

위의 예시에서 Dog 클래스는 Animal 클래스의 sound 메소드를 직접 호출할 수 있습니다. 또한 Dog 클래스에는 bark 메소드가 추가되어 새로운 기능이 확장됐음을 볼 수 있습니다.

결론

상속은 객체지향 프로그래밍에서 중요한 개념으로, 코드의 재사용성과 유지보수성을 높여줍니다. 적절히 활용하면 유연하고 효율적인 프로그램을 작성할 수 있습니다.