[C#] 메소드 오버라이드(딩)C#/C#정리2021. 9. 20. 09:56
Table of Contents
메소드를 덮어씌워서 자식 클래스에서 사용하는 것
메소드 오버라이딩시 virtual, override 예약어를 사용한다.
virtual
부모 클래스에서 메소드 정의 시
class Mammal
{
virtual public void Mode()
{
Console.WriteLine("움직인다.");
}
}
override
자식 클래스에서 메소드 오버라이딩시
class Lion : Mammal
{
override public void Mode()
{
Console.WriteLine("네 발로 움직인다.");
}
}
new
만약 부모클래스에 있는 메소드와 단순히 이름이 똑같은 (여기서는 Move) 메소드를 자식 클래스에서도 정의하고 싶다면 자식클래스에서 new 예약어로 만든다.
그렇지않으면 경고가 난다.
class Lion : Mammal
{
new public void Mode()
{
Console.WriteLine("네 발로 움직인다.");
}
}
반응형
'C# > C#정리' 카테고리의 다른 글
[C#] 다양한 타입(object, dynamic, var) (0) | 2021.09.28 |
---|---|
[C#] 메소드 오버로드 (0) | 2021.09.20 |
[C#] 접근제한자 총 정리 (0) | 2021.09.20 |
[C#] 정적멤버, 인스턴스멤버 (0) | 2021.09.20 |
[C#] as, is 차이점 (0) | 2021.09.20 |
@반나무 :: 반나무_뿌리
3년차 WPF 개발자입니다.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!