상속 Inheritance

Gogi·2023년 6월 2일

C++언어 기초 목록

목록 보기
12/15

부모의 특성을 물려받는 클래스

상속은 한 클래스가 다른 클래스의 특성을 물려받을 수 있게 하는 개념이다. 이를 통해 코드의 재사용성이 증가하고 복잡한 프로그램을 더 쉽게 이해하고 유지보수할 수 있게 해준다.


개념 설명

게임 프로그래밍에서 상속은 매우 중요한 역할을 한다. 가령, 여러 유형의 총기가 있는 게임이 있다면 총이라면 공통적으로 갖고 있어야할 특성 (탄환, 발사, 사거리, 피해량 등)을 BaseGun이라는 부모 클래스에 정의해둘 수 있다.

그런 다음 산탄총, 저격총, 소총, 권총 등 각각 다른 특징을 가진 총기를 만들 때 BaseGun의 공통 특성을 상속 받아 각 총기의 고유 기능만 추가하면 되도록 효율적으로 작업할 수 있다.


사용 예시

- 부모 클래스 (Parents Class)

class ParentsClass 
{
    // 코드인 부분
};

- 자식 클래스 (Child Class)

class ChildClass : public ParentsClass 
{
    // 코드인 부분
};

자식 클래스는 부모 클래스의 모든 publicprotected 멤버를 상속받는다.

1. Public 상속

가장 일반적인 형태의 상속으로, 부모 클래스의 모든 public 멤버들이 자식 클래스에서도 public 으로 유지되고, 부모 클래스의 protected 멤버들은 자식 클래스에서 protected로 유지된다.

2. Protected 상속

부모 클래스의 모든 publicprotected 멤버들이 자식 클래스에서 protected로 유지된다.

3. Private 상속

부모 클래스의 모든 publicprotected 멤버들이 자식 클래스에서 private로 유지된다.


주의사항

부적절하게 사용할 경우 코드의 가독성 및 복잡성이 증가하게 되아 오히려 작업 효율이 나빠질 수 있으니 주의

상속을 하지 않아도 되는 상황이라면 굳이 안 하는 것이 좋음


업데이트

profile
C, C++, C#, Unity

0개의 댓글