C#에서 this 키워드는 클래스나 구조체의 현재 인스턴스를 참조하는 데 사용됩니다. this를 사용하면 클래스 내부에서 해당 인스턴스의 멤버 변수나 메소드에 접근할 수 있으며, 코드의 가독성을 높이고 현재 인스턴스의 컨텍스트에서 작업을 명확하게 수행할 수 있습니다.
예시:
public class Person
{
private string name;
private int age;
public Person(string name, int age)
{
this.name = name; // this로 필드와 매개변수 구분
this.age = age;
}
public void PrintInfo()
{
Console.WriteLine($"Name: {this.name}, Age: {this.age}");
}
}
예시:
public class Rectangle
{
private double width;
private double height;
public Rectangle(double side)
: this(side, side) // 정사각형은 두 변의 길이가 같으므로, 하나의 변으로 다른 생성자 호출
{
}
public Rectangle(double width, double height)
{
this.width = width;
this.height = height;
}
}
예시:
public class Builder
{
private string data;
public Builder SetData(string data)
{
this.data = data;
return this; // this를 반환하여 메서드 체이닝 가능
}
public Builder AppendData(string extraData)
{
this.data += extraData;
return this;
}
public void Build()
{
Console.WriteLine(this.data);
}
}
// 사용 예:
Builder builder = new Builder();
builder.SetData("Initial data").AppendData(" and more data").Build();