스파르타 게임개발종합반(Unity)/TIL - 본캠프 매일 공부 기록

2024.06.17 TIL - switch문, switch식, Func

테크러너 2024. 6. 17.

switch식 (expression)

C# 8.0부터 지원하는 방식으로, 기존 switch문의 case 부분을 간결하게 표현한 것으로, (패턴/값) ⇒ 수식처럼 표현하는 방식.

Func<float, float, float> operation = modifier.statsChangeType switch
{
    StatsChangeType.Add => (current, change) => current + change,
    StatsChangeType.Multiple => (current, change) => current * change,
    _ => (current, change) => change,
};

C#에서 switch 식은 간결하고 가독성 높은 코드를 작성하는 데 유용하다. 하지만 과도하게 사용하지 말고 적당히 사용하라는 권고가 있다. 그 이유는 다음과 같다:

  1. 복잡성 증가: 너무 많은 조건을 switch 식에 넣으면 코드가 복잡해지고 읽기 어려워질 수 있다. 특히, 조건이 많거나 복잡한 로직을 처리할 때는 switch 식 대신 더 명확한 구조를 사용하는 것이 좋다.
  2. 디버깅 어려움: switch 식 내부에서 발생하는 오류를 디버깅하기가 일반 switch 문보다 어려울 수 있다. 디버깅 시점에서 각 조건에 대한 정확한 상태를 추적하기 힘들 수 있다.
  3. 유연성 부족: switch 식은 단순한 조건 분기에 적합하지만, 복잡한 로직이나 여러 단계를 포함하는 조건을 처리하는 데는 한계가 있다. 이런 경우는 별도의 메소드나 클래스를 사용하는 것이 더 적절하다.
  4. 유지보수 어려움: 조건이 추가되거나 변경될 때 switch 식이 길어지면 유지보수가 어려워질 수 있다. 새로운 조건을 추가하거나 기존 조건을 변경할 때 코드의 가독성이 떨어질 수 있다.
  5. 성능 문제: 대부분의 경우 성능 차이는 미미하지만, 매우 많은 조건이 있는 경우 성능 이슈가 발생할 수 있다. 특히, 복잡한 로직을 포함하는 경우는 switch 식보다는 다른 방법이 더 효율적일 수 있다.

따라서 switch 식은 간단하고 명확한 조건 분기를 처리할 때 유용하게 사용할 수 있지만, 복잡한 로직이나 많은 조건을 다룰 때는 다른 방법을 고려하는 것이 좋다. 적절한 사용을 통해 코드의 가독성과 유지보수성을 높일 수 있다.

반응형

댓글