본문 바로가기

C#

C# 객체 초기화(Object Initializer)와 컬렉션 초기화 비교

C#에서는 객체를 간편하게 초기화할 수 있는 두 가지 방법, 객체 초기화(Object Initializer)와 컬렉션 초기화(Collection Initializer)가 있습니다. 이 글에서는 두 방법의 차이와 활용법을 비교해 설명합니다.

1. 객체 초기화(Object Initializer)

객체 초기화는 객체 생성 후 속성 값을 한 번에 설정하는 문법입니다. 생성자 대신 중괄호 안에 프로퍼티를 나열해 초기화할 수 있어 코드가 간결해집니다.

var person = new Person
{
    Name = "홍길동",
    Age = 30,
    City = "서울"
};

2. 컬렉션 초기화(Collection Initializer)

컬렉션 초기화는 리스트나 딕셔너리 같은 컬렉션을 선언과 동시에 원하는 값들로 초기화할 때 사용합니다. 중괄호 안에 컬렉션 요소를 쉼표로 구분해 나열합니다.

var numbers = new List<int> { 1, 2, 3, 4, 5 };

var dict = new Dictionary<string, int>
{
    { "사과", 3 },
    { "바나나", 5 }
};

3. 비교 및 요약

두 초기화 모두 문법적으로 중괄호를 사용하지만, 객체 초기화는 객체의 속성을 명시적으로 할당하는 데 쓰이고, 컬렉션 초기화는 컬렉션 내 요소를 간단히 추가하는 데 사용됩니다. 객체 초기화는 객체 생성과 초기화를 간결하게 도와주며, 컬렉션 초기화는 코드 가독성과 편리함을 크게 향상시킵니다.

상황에 따라 적절한 초기화 방식을 선택해 깔끔한 코드를 작성하세요.