Post

[C++] 클래스의 상속 #8

1. 상속이란?

상속은 어떠한 클래스가 자신의 속성과 동작을 다른 클래스에게 물려주는 것을 의미 합니다.
따라서 상속받은 클래스는 그 속성과 동작을 사용할 수 있게 되는 것이죠.

예를 들어, 사람은 동물입니다. 따라서 사람은 동물이 가지는 특성을 가지죠.
따라서 숨을 쉬거나, 음식을 먹어야 한다는 점에서 사람은 동물이라는 큰 클래스의 상속을 받는 것입니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>

class Animal {
public:
    void eat() {
        std::cout << "밥 먹는 중...\n";
    }

    void breathe() {
        std::cout << "숨쉬는 중...\n";
    }
}

class Human : public Animal {
public:
    void say() {
        std::cout << "안녕하세요 반갑습니다.\n";
    }
}

클래스는 상속을 받으면 상속받는 클래스의 생성자를 실행하고 그 이후 자신의 생성자를 실행하는 특징 이 있습니다.

Human이 Animal에게 상속받는 중이므로 Animal의 생성자가 실행된 후 Human의 생성자가 실행됩니다.

2. 다중 상속

클래스의 상속은 제한 없이 다중적으로 사용 할 수 있습니다. 예를 들어, Animal에게 상속받는 Human이라는 클래스는 또 다른 클래스를 상속하는데 사용할 수 있는 것이다.

따라서 다중 상속으로 인해 상속이 연쇄적으로 일어나 중복 코드를 줄이는데 효과적으로 사용할 수 있다는 장점 이 생긴다.

This post is licensed under CC BY 4.0 by the author.