C#에서 생성자(Constructor)는 클래스의 인스턴스, 즉 객체가 생성되는 순간 자동으로 호출되는 특별한 메서드입니다. 개발자가 명시적으로 호출할 필요 없이 new 키워드로 객체를 만들면 런타임이 알아서 생성자를 실행해 줍니다.
생성자의 기본 규칙
생성자를 정의할 때는 몇 가지 중요한 규칙이 있습니다.
- 생성자의 이름은 반드시 클래스 이름과 동일해야 합니다.
- 생성자는 반환 타입을 가지지 않으며,
void조차 명시하지 않습니다. - 객체가 생성될 때 자동으로 호출되므로 초기화 작업에 주로 활용됩니다.
다음은 Department 클래스의 기본 생성자 예시입니다.
public class Department {
public Department() {
Console.WriteLine("Default Constructor!");
}
}생성자 사용 예제
아래 코드는 C#에서 생성자가 실제로 어떻게 동작하는지 보여주는 전체 예제입니다. Main 메서드에서 객체를 생성하면 별도의 호출 없이도 생성자 내부의 코드가 실행됩니다.
using System;
public class Department {
public Department() {
Console.WriteLine("Constructor Invoked");
}
public static void Main(string[] args) {
Department dept1 = new Department();
}
}실행 결과
Constructor Invoked
정리
위 예제에서 new Department() 문장이 실행되는 즉시 생성자가 호출되어 콘솔에 메시지가 출력된 것을 확인할 수 있습니다. 이처럼 생성자는 객체의 필드를 초기화하거나, 객체 사용 전 필요한 설정 작업을 수행하는 데 핵심적인 역할을 합니다. 매개변수를 받는 생성자나 오버로딩된 여러 생성자를 정의하면 더욱 유연한 객체 초기화가 가능합니다.