C#에서 연관?
가상함수와 연관있다.
이런식으로 구현되어있다고 가정.
이게 override 재정의 이다.
오버로딩은
이거임.
나중에 상속받는 클래스가 많을 경우 이렇게 Player포인터로 받아서 사용할 수 있다.
이상태로 실행하면 Plyaer->Attack이 호출됨.
그래서
다형성의 문제때문에
이렇게 부모 클래스 멤버 함수에 virtual을 붙여 주었다.
그래서 RTTI를 활용해서
new Knight가 어떤 타입으로 만들어져 있는지를 가상함수 테입르을 참조를 해가지고
player->Attack()을 호출 해준다(Knight의 Attack 함수)
함수뒤에 const가 붙은것은 멤버 변수를 건드리지 않겠다라는 의미이다.
readonly함수.
부모의 Attack과 다른 Attack이다. 완전히 다름.
물려받았다라는 힌트를 주는 장점!
override하는데 이제 더이상 자손들한테 물려주지 않겟다라는 의미이다.
이렇게 사용가능.
C# sealed?