C# 12.0 기본 생성자 소개

  • 2 minutes to read

기본 생성자

C# 12.0에서는 기본 생성자(Primary Constructor) 라는 새로운 기능이 도입되었습니다. 이는 클래스의 생성자 선언을 보다 간결하게 만들어주며, 불필요한 코드 중복을 줄이고 가독성을 높여줍니다.

기본 생성자는 클래스 선언의 일부로 정의되며, 매개변수를 직접 클래스 본문에서 사용할 수 있습니다. 이를 통해 readonly 멤버 변수를 보다 쉽게 초기화할 수 있으며, 불필요한 필드 선언을 줄일 수 있습니다.

C# 12.0 이전에는 다음과 같이 필드를 선언한 후, 생성자에서 명시적으로 초기화해야 했습니다.

class Employee
{
    private readonly string _name;
    private readonly int _age;

    public Employee(string name, int age)
    {
        _name = name;
        _age = age;
    }
}

C# 12.0의 기본 생성자를 사용하면 더 간결하게 표현할 수 있습니다.

class Employee(string name, int age)
{
    private readonly string _name = name;
    private readonly int _age = age;
}

이렇게 하면 생성자 선언과 필드 초기화를 한 줄로 해결할 수 있습니다.

다음은 기본 생성자를 활용한 예제입니다.

코드: PrimaryConstructorDemo.cs

using System;

class Employee(string name, int age) // 기본 생성자 사용
{
    private readonly string _name = name;
    private readonly int _age = age;

    public void Display() => 
        Console.WriteLine($"이름: {_name}, 나이: {_age}");
}

class PrimaryConstructorDemo
{
    static void Main()
    {
        Employee employee = new("홍길동", 21);
        employee.Display();
    }
}
이름: 홍길동, 나이: 21

C# 12.0의 기본 생성자는 필드 선언과 초기화를 한 줄로 처리하여 코드의 간결성을 높이고, 불필요한 필드를 제거하여 매개변수를 직접 활용할 수 있으며, 클래스의 생성자와 초기화 과정을 명확하게 보여줌으로써 가독성을 향상시키는 장점을 제공합니다.

VisualAcademy Docs의 모든 콘텐츠, 이미지, 동영상의 저작권은 박용준에게 있습니다. 저작권법에 의해 보호를 받는 저작물이므로 무단 전재와 복제를 금합니다. 사이트의 콘텐츠를 복제하여 블로그, 웹사이트 등에 게시할 수 없습니다. 단, 링크와 SNS 공유, Youtube 동영상 공유는 허용합니다. www.VisualAcademy.com
박용준 강사의 모든 동영상 강의는 데브렉에서 독점으로 제공됩니다. www.devlec.com