728x90
반응형
readonly 필드로 불변 객체 만들기

readonly 키워드는 객체 생성 이후 값을
변경할 수 없는 필드를 선언할 때 사용합니다.
이 키워드를 통해 클래스의 상태를 안정적으로 유지할 수 있으며,
특히 멀티스레딩 환경에서 유용합니다.
using System;
class Circle
{
private readonly double _radius;
public Circle(double radius)
{
_radius = radius;
}
public double Area => Math.PI * _radius * _radius;
}
class Program
{
static void Main()
{
Circle c = new Circle(5);
Console.WriteLine($"원의 넓이: {c.Area}");
}
}
출력 결과
원의 넓이: 78.53981633974483
● readonly는 생성자 또는 선언 시점에만 값을 설정할 수 있습니다.
● 그 이후에는 해당 필드의 값을 변경할 수 없으므로 **불변성(immutability)**을 보장합니다.
● 코드 안정성과 예측 가능성을 높이는 데 유리하며, const보다 유연합니다
(런타임 값 설정 가능).

728x90
반응형
'CSharp > CShap Tip' 카테고리의 다른 글
??= 널 병합 할당 연산자 (0) | 2025.04.10 |
---|---|
s 및 패턴 매칭으로 타입 검사 간소화하기 (0) | 2025.04.07 |
null-coalescing 연산자 ??로 기본값 설정하기 (0) | 2025.04.03 |
StringBuilder로 문자열 성능 향상시키기 (0) | 2025.04.02 |
async void는 이벤트 핸들러에만 사용 (0) | 2025.03.31 |
댓글