Programming

C# 생성자 오버라이딩 , this, base

DragonTory 2020. 11. 27. 12:24
반응형

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(...) 키워드를 사용 하면 부모의 생성자가 먼저 호출 됩니다. 

 

반응형