1using System;
2
3namespace 메서드오버라이드
4...{
5 public class ParentClass
6 ...{
7 public virtual void Hi1()
8 ...{
9 Console.WriteLine("기본 : 안녕하세요.");
10 }
11 public void Hi2()
12 ...{
13 Console.WriteLine("기본 : 반갑습니다.");
14 }
15 public void Hi3()
16 ...{
17 Console.WriteLine("기본 : 또 만나요.");
18 }
19 }
20 public class ChildClass : ParentClass
21 ...{
22 public override void Hi1()
23 ...{
24 Console.WriteLine("파생 : 안녕하세요.");
25 }
26 public new void Hi2()
27 ...{
28 Console.WriteLine("파생 : 반갑습니다.");
29 }
30 public new void Hi3()
31 ...{
32 base.Hi3(); // 기본 클래스의 멤버에 접근
33 }
34 }
35 public class 메서드오버라이드
36 ...{
37 public static void Main(string[] args)
38 ...{
39 ChildClass child = new ChildClass();
40 child.Hi1(); // virtual -> override
41 child.Hi2(); // X -> new
42 child.Hi3(); // X <- base
43 }
44 }
45}