35.6 생성자를 사용하여 읽기 전용 필드 초기화

    필드를 정의할 때 readonly 키워드를 붙일 수 있습니다. 이렇게 만들어진 필드를 읽기 전용 필드라고 합니다. 읽기 전용 필드는 클래스의 생성자로만 초기화가 가능합니다. 생성자로 초기화한 후에는 상수와 마찬가지로 값을 변경할 수 없습니다.

    > public class WhitchService
    . {
    .     private readonly string _serviceName; //읽기 전용 필드
    .     public WhitchService(string serviceName)
    .     {
    .         _serviceName = serviceName;      //생성자로 초기화해서 사용 가능
    .     }
    .     public void Run() => Console.WriteLine($"{_serviceName} 기능을 실행합니다.");
    . }
    >
    > var file = new WhitchService("[1] 파일 로그");
    > file.Run();
    [1] 파일 로그 기능을 실행합니다.
    > var db = new WhitchService("[2] DB 로그");
    > db.Run();
    [2] DB 로그 기능을 실행합니다.

    읽기 전용 필드는 클래스의 인스턴스를 생성할 때 넘어온 값에 따라 한 번 선언한 후 변경되지 않고 사용할 수 있는 기능을 만듭니다. 상수는 선언과 동시에 반드시 초기화해야 에러가 발생하지 않지만, 읽기 전용 필드는 선언과 동시에 초기화도 가능하고 선언한 후 생성자로 초기화할 수도 있습니다.

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.