더북(TheBook)

앞에서 이미 살펴보았지만, C# 6.0 버전부터 나온 자동 속성은 속성을 선언과 동시에 특정 값으로 자동으로 초기화할 때 사용하는 개념입니다. 다음 예제는 정적인 자동 속성을 선언과 동시에 초기화합니다.

> class UserService
. {
.     //자동 속성: 속성 선언과 동시에 초기화 가능
.     public static int UserId { get; set; } = 1234;
. }
> Console.WriteLine(UserService.UserId);
1234

UserService 클래스에 정적인 속성인 UserId를 선언과 동시에 기본값이 1234로 초기화되었습니다. Main() 메서드에서 UserService.UserId를 출력해 보면 기본값인 1234가 출력됩니다.

이번에는 자동 속성을 여러 개 선언하면서 자동으로 초기화한 후 사용하는 예제를 살펴보겠습니다.

> class Person
. {
.     public Guid Id { get; set; } = Guid.NewGuid();
.     public string Name { get; set; } = "백승수";
. }
> Person p = new Person();
> $"{p.Id}, {p.Name}"
"1a1d68e7-fa02-4ae0-9296-a40522773fac, 백승수"

Person 클래스의 Id 속성은 유일한 값을 나타내는 Guid 값을 Guid.NewGuid() 메서드로 자동으로 초기화하고, Name 속성은 "백승수"로 초기화한 후 사용합니다.

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