[C#] base 키워드
in C# on 공부, C#, Base
base 키워드
해당 키워드를 사용하는 클래스의 부모 클래스를 가리키는 것이다
class Fruit {
string g_name;
int g_grade;
int g_price;
public Fruit(string name, int grade, int price) {
g_name = name;
g_grade = grade;
g_price = price;
}
public void Sell() {
Console.WriteLine("과일 {0}을(를) {1}원에 팔았습니다.", g_name, g_price);
}
public void Info() {
Console.WriteLine("과일 이름: {0}", g_name);
Console.WriteLine("과일 등급: {0}등급", g_grade);
Console.WriteLine("과일 가격: {0}원", g_price);
}
public int Price {
get { return g_price; }
}
public int Grade {
get { return g_grade; }
}
public string Name {
get { return g_name; }
}
}
위에는 Fruit 클래스가 선언되어 있다. 이를 상속한 Apple 클래스를 선언해보도록 한다.
class Apple : Fruit {
public Apple(int grade, int price) : base("사과", grade, price) { }
public void SellCustom() {
Console.WriteLine("사과를 {0}원에 팔았습니다.", Price);
}
public void SellBase() {
base.Sell();
}
public int Price {
get { return 0; }
}
}
base 키워드를 사용하는지 아나는지에 따라 어떤 클래스에 접근하는지가 달라진다.
int priceBase = base.Price; // Fruit 클래스의 Price 속성 값
int priceThis = this.Price; // Apple 클래스의 Price 속성 값 (this. 는 생략 가능합니다)
base 키워드를 사용하게 되면 부모 클래스의 것에 접근하게 되고, 쓰지 않는다면 본인 클래스의 것에 접근하게 다.