반응형
"이니셜라이저(Initializer)"는 객체를 생성할 때 각 프로퍼티의 값을 직접 지정하여 객체를 초기화하는 기능을 의미합니다. 이니셜라이저를 사용하면, 객체 생성 코드를 간결하고 직관적으로 작성할 수 있습니다.

C#에서는 여러 종류의 Initializer를 사용할 수 있습니다. 아래에서는 각 Initializer의 종류와 사용법에 대해 살펴보겠습니다.

1. Object Initializer (객체 이니셜라이저)

객체를 생성한 후 각 프로퍼티의 값을 직접 지정하여 객체를 초기화할 수 있습니다.

class Car
{
    public string Make { get; set; }
    public string Model { get; set; }
    public int Year { get; set; }
}

Car myCar = new Car
{
    Make = "Toyota",
    Model = "Camry",
    Year = 2019
};

2. Collection Initializer (컬렉션 이니셜라이저)

컬렉션 객체를 생성할 때 원소를 초기화할 수 있습니다.

[참고]
"컬렉션(Collection)"이란, 하나의 데이터 구조로서 여러 개의 객체를 담을 수 있는 구조를 의미합니다. 컬렉션은 배열과 마찬가지로 여러 개의 객체를 담을 수 있지만, 배열과는 달리 컬렉션은 동적으로 크기를 조절할 수 있습니다.
C#에서 제공하는 컬렉션 클래스로는 List, ArrayList, Dictionary, HashSet, Queue, Stack 등이 있습니다. 이들 클래스를 사용하여 객체들을 저장, 검색, 정렬, 순회 등의 작업을 수행할 수 있습니다.

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

3. Array Initializer (배열 이니셜라이저)

배열 객체를 생성할 때 원소를 초기화할 수 있습니다.

int[] numbers = new int[] { 1, 2, 3, 4, 5 };

4. Anonymous Type Initializer (익명 타입 이니셜라이저)

익명 타입을 생성할 때 프로퍼티 값을 직접 지정할 수 있습니다.

var car = new { Make = "Toyota", Model = "Camry", Year = 2019 };

5. String Interpolation Initializer (문자열 보간 이니셜라이저)

문자열 내에 변수의 값을 직접 넣어서 새로운 문자열을 생성하는 문자열 보간 처리를 할 수 있습니다.

string message = $"The car is a {myCar.Year} {myCar.Make} {myCar.Model}.";

 

 

반응형

'개발정보' 카테고리의 다른 글

[.net] interop 과 p/invoke  (0) 2023.03.20
[C#] params 키워드  (0) 2023.02.15
[C#] 객체 초기화  (0) 2023.02.13
[C#] log4net 사용법  (0) 2023.02.08
[javascript] Closure(클로저)란  (0) 2023.01.31

+ Recent posts