[C#] this와 상속
Programming/.NET Programming 2009. 5. 31. 07:07
키워드 this |
this : Class에서 정의한 변수나 함수에 접근할 때 사용. 즉, 클래스 멤버 변수나 멤버 함수에 접근할 때 사용. 혹은 class의 멤버 변수나 멤버 함수라는 것을 명시적으로 표현하기 위해서 사용. |
키워드 this 예제 |
using System; namespace This { class A { public static void Main(string[] args) { B b = new B("HELLO"); Console.WriteLine(b.strMessage); Console.WriteLine(b.num); } } class B { public string strMessage; public int num; public B(string strMessage) { // 함수의 지역변수가 아닌 Class 멤버 변수에 접근하기 위해서 사용 this.num = 10; // 명시적으로 하기 위해서 사용 } } } |
상속 관련 문제 | |
Q. B가 부모클래스이고, A가 자식클래스일 때 어떤 것이 맞는 표현일까요?
A. 1. B b = new A(); 위 벤다이어그램에서 보면 B b = new A();일 경우 b는 A크기의 공간을 할당 받아 가리키게 되며, Class B가 가진 멤버 변수에 전부 접근이 가능하다. 하지만 A a = new B();일 경우 a는 B크기의 공간을 할당 받아 가리키게 되며, Class A가 가진 멤버 변수에 전부 접근이 가능하지는 않다. 그렇기 때문에 에러가 난다. |
'Programming > .NET Programming' 카테고리의 다른 글
[C#] Collections (1) (0) | 2009.06.02 |
---|---|
[C#] Enum과 배열 (0) | 2009.05.31 |
[C#] 오버로딩과 오버라이딩 (0) | 2009.05.31 |
[C#] 상속과 sealed (1) | 2009.05.31 |
[C#] 인터페이스, 추상클래스, 클래스 (1) | 2009.05.31 |