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 |