C#에서 생성자(Constructor)는 객체가 생성되는 순간 자동으로 호출되는 특수한 메서드입니다. 생성자는 클래스와 동일한 이름을 가져야 하며, 반환 타입을 명시하지 않는다는 특징이 있습니다.
생성자의 기본 구조
다음은 Department 클래스의 생성자를 정의한 예시입니다. 클래스 이름과 똑같은 이름의 메서드가 바로 생성자입니다.
public class Department {
public Department() {
Console.WriteLine("기본 생성자 호출!");
}
}기본 생성자란?
기본 생성자(Default Constructor)는 매개변수(인자)를 하나도 받지 않는 생성자를 의미합니다. 형태는 다음과 같습니다.
Department() {
}참고로, 클래스에 생성자를 직접 정의하지 않으면 C# 컴파일러가 자동으로 매개변수 없는 기본 생성자를 만들어 줍니다. 다만 이 경우 객체 초기화 로직을 추가할 수 없으므로, 초기화 작업이 필요하다면 직접 생성자를 작성하는 것이 좋습니다.
객체 생성 시 생성자 자동 호출
생성자는 new 키워드로 객체를 생성하는 즉시 실행됩니다. 별도로 호출할 필요가 없습니다.
Department dept1 = new Department();
전체 예제 코드
아래는 기본 생성자의 동작 방식을 확인할 수 있는 완전한 예제입니다. Main 메서드에서 객체를 생성하면 생성자가 자동으로 호출되어 메시지가 출력됩니다.
using System;
public class Department {
public Department() {
Console.WriteLine("생성자가 호출되었습니다");
}
public static void Main(string[] args) {
// 객체 생성과 동시에 생성자 자동 호출
Department dept1 = new Department();
}
}실행 결과
생성자가 호출되었습니다
정리
- 생성자는 객체가 생성될 때 자동으로 호출됩니다.
- 생성자의 이름은 반드시 클래스 이름과 같아야 합니다.
- 매개변수가 없는 생성자를 기본 생성자라고 부릅니다.
- 생성자를 정의하지 않으면 컴파일러가 암묵적으로 기본 생성자를 제공합니다.