C#

C# 기초부터 고급까지 Chapter 1.3. 조건문, 반복문, switch-case 고급 활용

Juan_ 2025. 4. 24. 18:34
728x90

📚 Chapter 1.3: 조건문, 반복문, switch-case 고급 활용


✅ 이 챕터에서 배울 것

C#의 if, for, while, switch 문법은 기본인데,
"고급 쓰임새 + 실무 활용 팁"까지 알면
진짜 코드가 쫙쫙 살아난다!
  • 조건문 기본 구조
  • 반복문 (for, while, foreach) 활용
  • switch-case의 고급 기능 (when, 패턴 매칭 등)
  • break, continue, goto 차이점

🧠 조건문 기본 – if / else if / else

int age = 25;

if (age < 20)
{
    Console.WriteLine("청소년 요금 적용!");
}
else if (age < 65)
{
    Console.WriteLine("일반 요금입니다.");
}
else
{
    Console.WriteLine("경로 우대 요금!");
}
✅ 조건문은 위에서부터 순차적으로 평가되며,
처음 참인 조건이 실행되고 종료됨!

🔁 반복문 – for, while, foreach

▶️ for

for (int i = 1; i <= 5; i++)
{
    Console.WriteLine(i + "번째 반복!");
}
반복 횟수가 정해졌을 때 딱 좋음!

▶️ while

int count = 3;

while (count > 0)
{
    Console.WriteLine("카운트다운: " + count);
    count--;
}
조건만 만족하면 무한 반복도 가능하다 조심!

▶️ foreach

string[] fruits = { "사과", "배", "귤" };

foreach (string fruit in fruits)
{
    Console.WriteLine("과일: " + fruit);
}
배열/컬렉션 순회에 특화!

🧪 break, continue 완전정복

키워드설명예시
break반복문 완전 탈출if (조건) break;
continue이번 반복만 스킵if (조건) continue;
for (int i = 1; i <= 5; i++)
{
    if (i == 3)
        continue; // 3은 건너뜀

    if (i == 5)
        break;    // 5에서 반복 종료

    Console.WriteLine(i);
}

🔀 switch-case 기본

string grade = "B";

switch (grade)
{
    case "A":
        Console.WriteLine("최고 점수!");
        break;
    case "B":
    case "C":
        Console.WriteLine("괜찮은 점수!");
        break;
    case "F":
        Console.WriteLine("다시 도전!");
        break;
    default:
        Console.WriteLine("유효하지 않은 등급입니다.");
        break;
}
case 여러 개 묶을 수 있고, default는 else 역할!

💥 C# 고급 기능: switch + when

int score = 85;

switch (score)
{
    case int s when (s >= 90):
        Console.WriteLine("A 학점!");
        break;
    case int s when (s >= 80):
        Console.WriteLine("B 학점!");
        break;
    default:
        Console.WriteLine("재도전 필요!");
        break;
}
🎯 when 키워드로 조건식을 추가할 수 있음
실무에서 switch를 좀 더 유연하게 쓸 때 아주 유용함!

🤯 참고: goto case, goto default

switch (input)
{
    case 1:
        Console.WriteLine("1번 선택");
        goto case 2;
    case 2:
        Console.WriteLine("2번 자동 실행됨");
        break;
    default:
        goto case 1;
}
많이 쓰이진 않지만, 의도적 흐름 전환이 필요한 경우에 사용됨

💥 장선생의 실전 꿀팁

  • for vs foreach → 성능 차이는 크지 않지만
    • foreach컬렉션 수정하면 에러 날 수 있음!
  • 조건문 많아질 땐 → switch or Dictionary 패턴 고려
  • break는 중첩 루프에서 헷갈릴 수 있음 → 라벨 break (C#은 없음!) 대신 구조 잘 잡자

✅ 요약 정리

항목설명
if / else기본 조건 분기
for / while / foreach반복 방식 다양하게 활용
switch / case값에 따라 분기 처리
when 조건switch에서 조건 필터링 가능
break / continue반복문 흐름 제어 핵심

📘 다음 챕터 예고 🎓

Chapter 1.4: 배열, List, Dictionary – 컬렉션 완전 이해하기!

인덱스로 접근? 키로 접근?
List<T>, Dictionary<TKey, TValue>
진짜 쓰는 법 알려줄게~!
728x90