C#에서는 개체 이니셜라이저(Object Initializer)를 사용하여 클래스의 객체를 간편하게 초기화할 수 있습니다.
개체 이니셜라이저를 활용하면 new 키워드로 객체를 생성하는 시점에 중괄호({}) 안에서 필드나 속성에 바로 값을 할당할 수 있습니다. 별도의 생성자를 여러 개 오버로딩하지 않아도 되기 때문에 코드가 한결 간결해집니다.
아래 예제에서는 Employee 객체를 생성하면서 중괄호를 이용해 여러 속성 값을 동시에 할당하고 있습니다.
Employee empDetails = new Employee() {
EID = 10,
EmpName = "Tim",
EmpDept = "Finance"
};이렇게 생성된 객체의 값에는 일반적인 방식으로 접근할 수 있습니다. 예를 들어 직원의 이름을 가져오려면 다음과 같이 작성합니다.
empDetails.EmpName
전체 예제 코드
using System;
public class Demo {
public static void Main() {
Employee empDetails = new Employee() {
EID = 10,
EmpName = "Tim",
EmpDept = "Finance"
};
Console.WriteLine(empDetails.EID);
Console.WriteLine(empDetails.EmpName);
Console.WriteLine(empDetails.EmpDept);
}
}
public class Employee {
public int EID { get; set; }
public string EmpName { get; set; }
public string EmpDept { get; set; }
}실행 결과
10 Tim Finance
핵심 정리
- 개체 이니셜라이저는 C# 3.0부터 도입된 기능입니다.
- 객체 생성과 동시에 public 속성이나 필드에 값을 할당할 수 있습니다.
- 값을 할당하기 위한 생성자 오버로드가 불필요해져 코드 가독성이 향상됩니다.