본문 바로가기
CSharp/CShap Tip

readonly 필드로 불변 객체 만들기

by MonoSoft 2025. 4. 4.
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
반응형