IT 트랜드 & 기술 이슈

2025년 C# 14의 주요 신기능 소개: 패턴 매칭의 진화

로기221 2025. 6. 11. 09:18
728x90
반응형

2025년 C# 14의 주요 신기능 소개: 패턴 매칭의 진화

C#은 최신 버전으로 오면서 패턴 매칭 기능이 크게 발전했습니다. 기존의 switch-case 문을 대체하며 더 직관적이고 표현력이 뛰어난 패턴 매칭 문법을 제공하는데요, 이번 글에서는 C# 14에서 주목할 만한 패턴 매칭 기능과 실전 활용법을 소개합니다.

 

 

1. 패턴 매칭의 진화: is와 switch 식을 활용한 다양한 패턴

C# 14에서는 is 연산자와 switch 식을 통해 입력 식을 여러 패턴과 일치시키는 기능이 확장되었습니다. 주요 패턴 종류는 다음과 같습니다.

  • 선언 패턴: 런타임 형식을 확인하고, 성공 시 변수에 할당
  • 형식 패턴: 특정 타입인지 검사
  • 상수 패턴: 값이 특정 상수와 같은지 검사
  • 관계형 패턴: 값이 상수와 비교(>, < 등)
  • 논리 패턴: and, or, not 키워드로 패턴 결합
  • 속성 패턴: 객체 속성이나 필드가 특정 패턴과 일치하는지 검사
  • 위치 패턴: 객체를 분해해 각 요소가 패턴과 일치하는지 검사
  • 목록 패턴: 배열이나 리스트의 요소들이 패턴과 일치하는지 검사 (C# 11부터)
  • var 패턴: 모든 식을 매칭하고 변수에 할당
  • 무시 패턴: 모든 식을 매칭하지만 결과는 무시

이 중 논리, 속성, 위치, 목록 패턴은 재귀 패턴으로 중첩해서 사용할 수 있습니다.

 

 

속성 패턴 예시

static bool IsConferenceDay(DateTime date) => date is { Year: 2020, Month: 5, Day: 19 or 20 or 21 };

 

 

위 예시는 date 객체의 속성 Year, Month, Day가 특정 값과 일치하는지 검사합니다.

 

 

switch 식과 패턴 매칭 활용 예시

static string TakeFive(object input) => input switch
{
    string { Length: >= 5 } s => s.Substring(0, 5),
    string s => s,
    ICollection<char> { Count: >= 5 } symbols => new string(symbols.Take(5).ToArray()),
    ICollection<char> symbols => new string(symbols.ToArray()),
    null => throw new ArgumentNullException(nameof(input)),
    _ => throw new ArgumentException("Not supported input type."),
};

 

 

이 코드는 입력이 문자열이거나 문자 컬렉션일 때 길이에 따라 다르게 처리하는 예시입니다.

 

 

목록 패턴과 슬라이스 패턴

C# 11부터 도입된 목록 패턴은 배열이나 리스트의 요소를 패턴과 비교합니다.

int[] numbers = { 1, 2, 3 };
bool result = numbers is [1, 2, 3];  // true

 

슬라이스 패턴(..)을 활용하면 배열의 일부 구간을 쉽게 검사할 수 있습니다.

bool check = new[] { 1, 2, 3, 4, 5 } is [> 0, > 0, ..]; // true

 

 

 

2. 실무에서의 패턴 매칭 적용 사례

복잡한 조건문 단순화

기존에는 여러 if-else 문으로 복잡하게 처리하던 조건 분기를 패턴 매칭으로 간결하게 리팩토링할 수 있습니다.

public int HowSpicyIs(Food food) => food switch
{
    KoreanFood => 30,
    JapaneseFood => 15,
    ChineseFood => 10,
    _ => 0,
};

 

이처럼 형식 패턴을 활용해 타입별 로직을 명확하게 분리할 수 있습니다.

 

 

3. 개발 생산성 향상을 위한 팁

  • dotnet watch를 활용한 핫리로드 기능으로 코드 수정 즉시 결과 확인 가능
  • 패턴 매칭을 적극 활용해 조건문을 간결하게 작성하면 유지보수성 향상
  • 최신 C# 기능을 활용한 코드 작성으로 협업 시 가독성 및 명확성 증대

 

4. 결론 및 앞으로 주목할 트렌드

C# 14의 패턴 매칭 기능은 코드의 가독성과 표현력을 크게 높여줍니다. 앞으로도 AI 개발 도구, WebAssembly, Utility-First CSS 등 최신 웹 개발 트렌드와 함께 C#과 .NET 생태계는 계속 발전할 것입니다. 개발자는 최신 언어 기능을 적극 활용해 생산성을 높이고, 변화하는 환경에 능동적으로 대응하는 것이 중요합니다.

 

 

 

이상으로 C# 14의 패턴 매칭 주요 기능과 실전 활용법을 간략히 소개했습니다. 실제 프로젝트에 적용해보며 경험을 쌓으면 더욱 효과적인 코드 작성이 가능할 것입니다.

728x90
반응형