[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#에서 생성자 오버로딩은 클래스의 인스턴스를 초기화하는 다양한 방법을 제공합니다. 이를 활용하면 유연하고 편리하게 객체를 생성하고 초기화할 수 있습니다.
참고문헌:
- https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/constructors