required
키워드
C# 11에서 도입된 required
키워드는 개체 초기화 시 특정 속성이 반드시 설정되도록 강제하는 기능을 제공합니다. 이를 사용하면 생성자를 정의하지 않아도 필수 속성을 강제할 수 있습니다.
코드: RequiredDemo.cs
public class PersonRequired
{
public required string Name { get; set; } // 필수 속성
public required int Age { get; set; } // 필수 속성
public string? Address { get; set; } // 선택적 속성
}
class RequiredDemo
{
static void Main()
{
// 필수 속성을 포함한 올바른 개체 초기화
var person = new PersonRequired { Name = "홍길동", Age = 21 };
Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");
// 필수 속성이 누락되면 컴파일 오류가 발생함
// var invalidPerson = new PersonRequired { Name = "백두산" };
}
}
Name: 홍길동, Age: 21
이 예제에서 PersonRequired
클래스는 Name
과 Age
속성을 required
로 설정하여, 개체 생성 시 반드시 값을 설정해야 합니다. 반면 Address
속성은 선택적 속성이므로 초기화 없이도 개체를 생성할 수 있습니다. RequiredDemo
클래스의 Main
메서드에서 PersonRequired
개체를 올바르게 초기화하면 정상적으로 실행됩니다. 하지만 required
키워드를 적용한 속성이 개체 초기화에서 빠질 경우 컴파일 오류가 발생하여, 필수 값이 설정되도록 강제됩니다.
추천 자료: ASP.NET Core 인증 및 권한 부여
추천 자료: .NET Blazor에 대해 알아보시겠어요? .NET Blazor 알아보기를 확인해보세요!