1
using System;
2
3
namespace 메서드오버라이드
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
}