gnu

블로그 이미지
by 군우

TAG CLOUD

  • Total hit
  • Today hit
  • Yesterday hit

 키워드 new 


new 를  override 로 바꾸면  b가 출력되는데 

new를 붙인 경우 참조 대상의 객체 변수의 형에 따라 결정된다.



override는 상위클래스의 a메소드를 가리는 효과인데

new는 안가리네. 


new를 붙이면 그 변수의 형태에 따라서 결정을 다시하는 것임.


virtual은 


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
using System;
 
namespace CSStudy_newOverriding
{
    class Program
    {
        static void Main(string[] args)
        {
            A ins1 = new A();
            B ins2 = new B();
            A ins3 = new B();
 
            ins1.a();
            ins2.a();
            ins3.a();
        }
 
        class A
        {
            public virtual void a()
            {
                Console.WriteLine("class a");
            }
        }
        class B: A
        {
            public new void a() // 여기 new를 override로 바꾸면
            {           // b기츨략됨
                Console.WriteLine("class b");
            }
        }
    }
}
cs


'C# > C# Concept' 카테고리의 다른 글

[C#] thread 쓰레드  (0) 2018.03.19
[C#] nameSpace 네임스페이스  (0) 2018.03.19
[C#] 인터페이스  (0) 2018.03.19
[C#] 구조체  (0) 2018.03.19
[C#] Out 키워드  (0) 2018.03.19
AND

ARTICLE CATEGORY

분류 전체보기 (197)
C (0)
HTML (7)
C# (88)
Python (27)
IT (0)
Android (2)
Java (65)
Study (5)
JavaScript (1)
JSP (2)

RECENT ARTICLE

RECENT COMMENT

CALENDAR

«   2025/04   »
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

ARCHIVE

LINK