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

C#에서 객체를 초기화하는 방법은 여러가지가 있습니다. 가장 기본적인 방법은 객체를 생성한 후 각 프로퍼티를 따로 지정하는 것입니다.

class Car
{
    public string Make { get; set; }
    public string Model { get; set; }
    public int Year { get; set; }
}
 
Car myCar = new Car();
myCar.Make = "Toyota";
myCar.Model = "Camry";
myCar.Year = 2019;

또 다른 방법으로는 생성자를 통한 객체 초기화가 있습니다. 생성자를 통해 객체를 생성할 때 필요한 프로퍼티 값들을 매개변수로 전달할 수 있습니다.

class Car
{
    public string Make { get; set; }
    public string Model { get; set; }
    public int Year { get; set; }
 
    public Car(string make, string model, int year)
    {
        Make = make;
        Model = model;
        Year = year;
    }
}
 
Car myCar = new Car("Toyota", "Camry", 2019);
 

마지막으로, C#에서는 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
};
 

위의 코드에서는 new Car 이후에 각 프로퍼티의 값을 직접 지정하여 객체를 초기화하고 있습니다. 단, 값을 지정할 수 있는 것은 public 속성(property)만 가능 합니다.

위에서 언급한 3가지 방법 중 가장 편리한 방법은 Object Initializer 문법이며, 이 문법을 사용하면 간결하고 직관적인 코드를 작성할 수 있습니다.

반응형

+ Recent posts