base 키워드는 다음과 같이 파생 클래스에서 기본 클래스의 멤버에 액세스하는 데 사용됩니다.
-
다른 메서드로 재정의된 기본 클래스의 메서드를 호출합니다.
-
파생 클래스의 인스턴스를 만들 때 호출해야 하는 기본 클래스 생성자를 지정합니다.
생성자, 인스턴스 메서드 또는 인스턴스 속성 접근자에서만 기본 클래스에 액세스할 수 있습니다.
정적 메서드 내에서는 base 키워드를 사용할 수 없습니다
*정적 및 인스턴스 메서드
메서드 선언에 static 한정자가 있는 경우 해당 메서드를 정적 메서드라고 합니다. static 한정자가 없으면 인스턴스 메서드라고 합니다.
정적 메서드는 특정 인스턴스에서는 작동되지 않으므로, 정적 메서드에서 this를 참조하면 컴파일 타임 오류가 발생합니다.
--------------------------------------------------------------------------
using System;
public class BaseClass
{
int num;
public BaseClass()
{
Console.WriteLine("in BaseClass()");
}
public BaseClass(int i)
{
num = i;
Console.WriteLine("in BaseClass(int i)");
}
public int GetNum()
{
return num;
}
}
public class DerivedClass : BaseClass //BaseClass클래스를 상속받습니다.
{
// This constructor will call BaseClass.BaseClass()
public DerivedClass() : base()
{
}
// This constructor will call BaseClass.BaseClass(int i)
public DerivedClass(int i) : base(i)
{
}
static void Main()
{
DerivedClass md = new DerivedClass(); //Console.WriteLine("in BaseClass()");
DerivedClass md1 = new DerivedClass(1); //Console.WriteLine("in BaseClass(int i)");
}
}
'C#.NET' 카테고리의 다른 글
| 생성자의 종류 와 프로퍼티의 의미 (0) | 2010.01.05 |
|---|---|
| 제네릭 List<T> (0) | 2010.01.04 |
| [MSDN]박싱(Boxing) 언박싱(UnBoxing) (0) | 2010.01.04 |
| [MSDN].NET Framework Client Profile (0) | 2009.12.30 |
| [MSDN]Windows 서비스 응용 프로그램을 위한 설치 프로젝트를 만드는 방법 (0) | 2009.12.29 |
| app.config 읽기 (0) | 2009.12.23 |
| 초간단 .NET 날짜간격 구하기 (0) | 2009.12.15 |
| [VS 2005,비주얼 스튜디오] 잘못된 바인딩 핸들입니다 (0) | 2009.12.15 |
| [MSDN] Control.Invoke 메서드 (Delegate, Object[]) (0) | 2009.12.15 |
| [암호화,MD5,SHA1] 비밀번호 암호화 하기 (0) | 2009.12.15 |