본문 바로가기

Programing (프로그래밍)/WPF & C# (C Sharp)

WPF & C# - 예제 override ( 오버라이드 / 재정의 / 상속 / 다형성 )

728x90
반응형


 WPF & C# - 예제 override ( 오버라이드 / 재정의 / 상속 / 다형성 )



MainWindow.xaml.cs



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
    }
 
    //  예제 : https://docs.microsoft.com/ko-kr/dotnet/csharp/programming-guide/classes-and-structs/knowing-when-to-use-override-and-new-keywords
    private void btn_Click(object sender, RoutedEventArgs e)
    {
        ClassA A = new ClassA();
        ClassB B = new ClassB();
        ClassA AB = new ClassB();
 
        A.Method1();   // A
        A.Method2();   // B
 
        B.Method1();   // C
        B.Method2();   // D
        B.Method3();   // E
 
        AB.Method1();   // C
        AB.Method2();   // B
    }
}
 
class ClassA
{
    public virtual void Method1() { MessageBox.Show("A"); }
    public virtual void Method2() { MessageBox.Show("B"); }
}
 
class ClassB : ClassA
{
    public override void Method1() { MessageBox.Show("C"); }
    public new void Method2() { MessageBox.Show("D"); }
    public void Method3() { MessageBox.Show("E"); }
}
cs



개념은 알았지만 예제를 보는건 처음이다...

이해는 되지만 막상 써먹으려니 어디부터 손을 대야할지 좀 막막하다.

개념이 제대로 잡히고, 익숙해지면 정말 유용할거 같으니 앞으로 조금씩 써먹어야 겠다. ^^


728x90
반응형