상속은 한 클래스가 다른 클래스의 특성을 물려받을 수 있게 하는 개념이다. 이를 통해 코드의 재사용성이 증가하고 복잡한 프로그램을 더 쉽게 이해하고 유지보수할 수 있게 해준다.
게임 프로그래밍에서 상속은 매우 중요한 역할을 한다. 가령, 여러 유형의 총기가 있는 게임이 있다면 총이라면 공통적으로 갖고 있어야할 특성 (탄환, 발사, 사거리, 피해량 등)을 BaseGun이라는 부모 클래스에 정의해둘 수 있다.
그런 다음 산탄총, 저격총, 소총, 권총 등 각각 다른 특징을 가진 총기를 만들 때 BaseGun의 공통 특성을 상속 받아 각 총기의 고유 기능만 추가하면 되도록 효율적으로 작업할 수 있다.
class ParentsClass
{
// 코드인 부분
};
class ChildClass : public ParentsClass
{
// 코드인 부분
};
자식 클래스는 부모 클래스의 모든 public 및 protected 멤버를 상속받는다.
가장 일반적인 형태의 상속으로, 부모 클래스의 모든 public 멤버들이 자식 클래스에서도 public 으로 유지되고, 부모 클래스의 protected 멤버들은 자식 클래스에서 protected로 유지된다.
부모 클래스의 모든 public 및 protected 멤버들이 자식 클래스에서 protected로 유지된다.
부모 클래스의 모든 public 및 protected 멤버들이 자식 클래스에서 private로 유지된다.
부적절하게 사용할 경우 코드의 가독성 및 복잡성이 증가하게 되아 오히려 작업 효율이 나빠질 수 있으니 주의
상속을 하지 않아도 되는 상황이라면 굳이 안 하는 것이 좋음