[c#] C# 생성자 오버로딩

C#에서 생성자 오버로딩은 하나 이상의 생성자를 동일한 클래스 안에 정의하는 것을 말합니다. 각 생성자는 서로 다른 매개변수 목록을 가지고 있어야 하며, 이를 통해 다양한 방법으로 객체를 초기화할 수 있습니다.

기본 생성자 (Default Constructor)

public class MyClass
{
    // 기본 생성자
    public MyClass()
    {
        // 초기화 코드
    }
}

위의 예제는 매개변수를 가지지 않는 기본 생성자를 보여줍니다.

매개변수가 있는 생성자 (Parameterized Constructor)

public class MyClass
{
    private string name;
    private int age;

    // 매개변수가 있는 생성자
    public MyClass(string name, int age)
    {
        this.name = name;
        this.age = age;
    }
}

위의 예제는 두 개의 매개변수를 가지는 생성자를 보여줍니다.

생성자 오버로딩

public class MyClass
{
    private string name;
    private int age;

    // 기본 생성자
    public MyClass()
    {
        // 초기화 코드
    }

    // 매개변수가 있는 생성자
    public MyClass(string name, int age)
    {
        this.name = name;
        this.age = age;
    }
    
    // 생성자 오버로딩
    public MyClass(string name) : this(name, 0)
    {
        // 초기화 코드
    }
}

위의 예제는 생성자 오버로딩의 개념을 보여줍니다. 세 번째 생성자는 두 번째 생성자를 호출하여 age를 0으로 초기화합니다.

생성자 오버로딩은 유연성을 제공하며 객체를 다양한 방법으로 초기화할 수 있습니다.

결론

C#에서 생성자 오버로딩은 클래스의 인스턴스를 초기화하는 다양한 방법을 제공합니다. 이를 활용하면 유연하고 편리하게 객체를 생성하고 초기화할 수 있습니다.

참고문헌: