class MyClass
{
int a, b, c;
public MyClass()
{
this.a = 25;
}
public MyClass(int b)
{
this.a = 25;
this.b = b;
}
public MyClass(int b, int c)
{
this.a = 25;
this.b = b;
this.c = c;
}
}
위 코드에서 생성자는 문법적으로 문제가 없지만 아쉬운 코드입니다. 생성자 안에 똑같은 코드가 중복되어 들어가 있으니까요.
이런 아쉬움을 해결해주는 것이 this()
입니다.
class MyClass
{
int a, b, c;
public MyClass()
{
this.a = 25;
}
public MyClass(int b) : this()
{
this.b = b;
}
public MyClass(int b, int c) : this(b)
{
this.c = c;
}
}
this()는 자기 자신의 생성자를 가리키고 생성자에서만 사용될 수 있습니다.
this()는 MyClass()를 호출하고 this(int)는 MyClass(int)를 호출합니다.