앞에서 이미 살펴보았지만, 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 속성은 "백승수"로 초기화한 후 사용합니다.