더북(TheBook)

44.2 상속 관계에서 메서드 오버라이드

C#에서 override 키워드는 ‘재정의’ 또는 ‘다시 정의’를 의미합니다. 상속 관계에서 메서드를 재정의해서 사용하는 세 가지 방법을 코드로 정리해 보겠습니다.

> public class Parent
. {
.     public void Say() => Console.WriteLine("부모_안녕하세요.");
.     public void Run() => Console.WriteLine("부모_달리다.");
.     public virtual void Walk() => Console.WriteLine("부모_걷다.");
. }
>
> public class Child : Parent
. {
.     public void Say() => Console.WriteLine("자식_안녕하세요.");
.     public new void Run() => Console.WriteLine("자식_달리다.");
.     public override void Walk() => Console.WriteLine("자식_걷다.");
. }
>
> Child c = new Child(); //메서드 오버라이드: 함수 재정의
> c.Say();               //① 재사용
자식_안녕하세요.
> c.Run();               //② x -> new
자식_달리다.
> c.Walk();              //③ virtual -> override
자식_걷다.
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.