Programing/C#

C# 프로그래밍의 기초 : switch

유니얼 2024. 2. 28. 03:00
728x90

프로그래밍에서 switch 문은 여러 조건 중 하나를 선택하여 실행하는 효율적인 방법을 제공합니다. 특히, 여러 값이나 상태에 따라 다른 동작을 수행해야 할 때 if-else 체인보다 가독성이 높고 관리하기 쉬운 코드를 작성할 수 있도록 도와줍니다. 이 글에서는 C#의 switch 문 사용법과 그 장점에 대해 설명하고자 합니다.

switch 문의 기본 구조

switch 문은 평가하고자 하는 변수나 표현식을 괄호 안에 지정합니다. 그리고 중괄호 {} 안에 여러 case 라벨을 정의하여 각각의 경우에 실행할 코드 블록을 작성합니다.

switch (변수) {
    case 값1:
        // 값1과 일치할 때 실행될 코드
        break;
    case 값2:
        // 값2와 일치할 때 실행될 코드
        break;
    ...
    default:
        // 어떤 case도 일치하지 않을 때 실행될 코드
        break;
}

case 라벨

각 case 라벨은 특정 값과 일치할 때 실행될 코드를 정의합니다. case 뒤에는 콜론(:)이 오고, 해당 case에 해당하는 코드 블록이 이어집니다. 각 case 블록의 끝에는 break 문을 사용하여 switch 문에서 빠져나오게 합니다.

default 라벨

switch 문에서 어떤 case도 일치하지 않을 때 실행될 기본 코드 블록을 default를 통해 정의합니다. default 블록은 선택적이지만 있을 경우 switch 문의 마지막에 위치해야 합니다.

예제: 요일 출력하기

using System;

class Program
{

    static void Main(string[] args)
    {
        int day = 4;
        switch (day)
        {
            case 1:
                Console.WriteLine("Monday");
                break;
            case 2:
                Console.WriteLine("Tuesday");
                break;
            case 3:
                Console.WriteLine("Wednesday");
                break;
            case 4:
                Console.WriteLine("Thursday");
                break;
            case 5:
                Console.WriteLine("Friday");
                break;
            case 6:
                Console.WriteLine("Saturday");
                break;
            case 7:
                Console.WriteLine("Sunday");
                break;
            default:
                Console.WriteLine("Invalid day");
                break;
        }
        //결론
        // Thursday
    }
}

switch 문의 장점

  • 가독성: switch 문은 복잡한 조건 분기를 간결하게 표현할 수 있어 코드의 가독성을 높여줍니다.
  • 유지 보수: 조건이 많은 경우, if-else 체인보다 switch 문을 사용하는 것이 오류를 줄이고 코드를 관리하기 쉽게 만듭니다.
  • 성능: 컴파일러는 switch 문을 최적화하여 빠른 실행 경로를 생성할 수 있습니다, 특히 상수 값에 대한 많은 분기에서 유용합니다.

결론

switch 문은 C# 프로그래밍에서 다양한 조건 분기를 쉽고 효율적으로 처리할 수 있는 강력한 도구입니다. 코드의 가독성을 높이고 유지 보수를 용이하게 하며, 때로는 성능적인 이점도 제공합니다. 복잡한 조건부 로직을 처리할 때 switch 문의 사용을 고려해 보세요.

반응형