본문 바로가기

C#

C# required 키워드로 필수 초기화 강제하기

C# 11부터 도입된 required 키워드는 객체 초기화 시 특정 속성의 초기화를 반드시 하도록 강제하는 기능입니다. 이를 통해 필수 프로퍼티를 누락하지 않게 하여 객체의 무결성을 높일 수 있습니다.

1. required 키워드 개요

기존에는 생성자에서 필수 값을 초기화하거나 속성에 접근 제한을 두기도 했지만, required는 속성을 사용자가 꼭 초기화 해야만 컴파일 오류를 발생시킵니다.

2. 사용법 예제

public class Person
{
    public required string Name { get; set; }
    public int Age { get; set; }
}

// 생성자 없이 객체 초기화 시 Name은 반드시 초기화해야 한다.
var person = new Person
{
    Name = "Alice",
    Age = 30
};

// 아래 코드는 컴파일 오류 발생
// var p = new Person { Age = 25 };

3. 생성자 사용과의 차이점

required는 생성자와 달리 객체 초기화 구문에서 필수 초기화를 강제합니다. 생성자 오버로드와 조합해서도 활용할 수 있습니다.

4. 정리

C#의 required 키워드로 중요한 속성 초기화를 강제해 보다 안전한 객체 설계를 할 수 있습니다. 최신 C# 버전에서 꼭 활용해보세요.