"이니셜라이저(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 |