푸: 헤랑사 노트

푸: 헤랑사

상속은 한 클래스가 다른 클래스로부터 파생되어 구조와 동작을 재사용할 수 있게 합니다. 파생 클래스 또는 하위 클래스는 기본 클래스의 기능을 특화할 수 있습니다. C#의 예시는 Gerente 클래스가 Funcionario 클래스로부터 상속받아 급여 계산을 재사용하는 방법을 보여줍니다. 주요 메커니즘에는 부모 클래스의 생성자를 호출하는 것, 재정의를 허용하기 위해 기본 클래스에 virtual을 사용하는 것, 원래 로직의 재사용과 함께 override를 사용하는 것이 포함됩니다. 상속의 황금률은 "is-a" 테스트로, Gerente는 Funcionario입니다. 관계가 "has-a"인 경우, 예를 들어 Carro가 Motor를 가지고 있는 경우, 컴포지션이 더 적절합니다. sealed 키워드는 클래스가 상속되는 것을 방지하여 해당 동작이 변경되지 않도록 보장하고 컴파일러가 최적화할 수 있도록 합니다. 상속 계층이 깊은 경우 결합도가 높아지고 유지보수가 어려워질 수 있으므로 복잡한 경우에는 컴포지션을 선호하는 것이 좋습니다. C#은 "다이아몬드 문제"를 방지하기 위해 클래스의 다중 상속을 금지합니다. 게임 예시에서 Guerreiro, Mago, Arqueiro와 같은 클래스는 공격 및 피해 받기와 같은 Personagem의 기본 기능을 상속받습니다. 각 하위 클래스는 Guerreiro의 Armadura 또는 Mago의 Mana와 같이 특정 특성만 추가합니다.