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

더 깊이 공부하고 싶다면
DevLec에서는 실무 중심의 C#, .NET, ASP.NET Core, Blazor, 데이터 액세스 강좌를 단계별로 제공합니다. 현재 수강 가능한 강좌 외에도 더 많은 과정이 준비되어 있습니다.
DevLec.com에서 자세한 커리큘럼을 확인해 보세요.
DevLec 공식 강의
C# Programming
C# 프로그래밍 입문
프로그래밍을 처음 시작하는 입문자를 위한 C# 기본기 완성 과정입니다.
ASP.NET Core 10.0
ASP.NET Core 10.0 시작하기 MVC Fundamentals Part 1 MVC Fundamentals Part 2
웹 애플리케이션의 구조와 MVC 패턴을 ASP.NET Core로 실습하며 익힐 수 있습니다.
Blazor Server
풀스택 웹개발자 과정 Part 1 풀스택 웹개발자 과정 Part 2 풀스택 웹개발자 과정 Part 3
실무에서 바로 활용 가능한 Blazor Server 기반 관리자·포털 프로젝트를 만들어 봅니다.
Data & APIs
Entity Framework Core 시작하기 ADO.NET Fundamentals Blazor Server Fundamentals Minimal APIs
데이터 액세스와 Web API를 함께 이해하면 실무 .NET 백엔드 개발에 큰 도움이 됩니다.
VisualAcademy Docs의 모든 콘텐츠, 이미지, 동영상의 저작권은 박용준에게 있습니다. 저작권법에 의해 보호를 받는 저작물이므로 무단 전재와 복제를 금합니다. 사이트의 콘텐츠를 복제하여 블로그, 웹사이트 등에 게시할 수 없습니다. 단, 링크와 SNS 공유, Youtube 동영상 공유는 허용합니다. www.VisualAcademy.com
박용준 강사의 모든 동영상 강의는 데브렉에서 독점으로 제공됩니다. www.devlec.com