C# 생성자 오버라이딩 , this, base
C# 생성자 오버라이딩
public class Employee
{
public int Salary;
public Employee()
{
Salary = 0;
}
public Employee(int annualSalary)
{
Salary = annualSalary;
}
public Employee(int weeklySalary, int numberOfWeeks)
{
Salary = weeklySalary * numberOfWeeks;
}
}
클래스에서 생성자 오버라이딩 하는 방법은 위와 같이 매게 변수를 추가 하여 할 수 있습니다.
만약, 반복 되는 작업이 싫다고 하면 오버라이딩 한 생성자에서 다른 생성자를 호출 할 수 있습니다.
public Employee(int weeklySalary, int numberOfWeeks)
: this(weeklySalary * numberOfWeeks)
{
}
위와 같이 this(...) 키워드를 사용 하면 됩니다.
만약,
상속을 받은 클래스라면
public class Manager : Employee
{
public Manager(int annualSalary)
: base(annualSalary)
{
//Add further instructions here.
}
}
위와 같이 base(...) 키워드를 사용 하면 부모의 생성자가 먼저 호출 됩니다.