1. 소개
가끔 반복문을 끝까지 다 돌 필요 없이, 중간에 바로 빠져나와야 할 때가 있어. 예를 들어, 원하는 요소를 찾았을 때 말이지. 또 어떤 경우엔, 일부 작업을 건너뛰고 다음 단계로 넘어가고 싶을 수도 있어(예를 들어, 데이터를 읽었는데 그 처리를 건너뛰고 싶을 때). 이게 바로 반복문 안에서 흐름을 제어하는 거야.
C#에서 break와 continue 연산자는 바로 이런 상황을 위해 있어. 어떻게 동작하는지, 실제로 어디에 쓸 수 있는지 같이 알아보자.
2. break 연산자: "멈춰!"
이론과 문법
break 연산자는 반복문 안 어디서든 바로 반복문을 빠져나오게 해줘. 프로그램 실행이 break에 도달하면, 반복문은 즉시 끝나고, 반복문 다음 줄부터 코드가 계속 실행돼.
while (조건)
{
if (어떤-조건)
{
break;
}
// 반복문의 나머지 코드
}
이건 for나 do-while에서도 똑같이 동작해:
for (int i = 0; i < 10; i++)
{
if (어떤-조건)
{
break;
}
// 반복문의 나머지 코드
}
예시 1: 소수 판별하기
소수는 1과 자기 자신으로만 나누어지는 수야. 어떤 수가 소수인지 확인하려면, 2부터 n-1까지 모든 가능한 약수로 나눠봐야 해. 만약 어떤 약수로 나누어떨어지면, 더 이상 확인할 필요 없어 — 소수가 아니니까! 바로 반복문을 끝내면 돼.
예시:
int number = 111;
bool found = false;
for (int i = 2; i < number; i++)
{
if (number % i == 0)
{
found = true;
Console.WriteLine("약수 찾음 " + i );
break; // 반복문 멈추기, 더 이상 찾을 필요 없어!
}
}
if (!found)
{
Console.WriteLine("약수 없음 - 소수임.");
}
예시 2: 사용자 입력 검증
작은 앱을 만들어보자, 예를 들어 데이터 수집용 인터랙티브 설문지 같은 거:
while (true)
{
Console.Write("나이를 입력하세요: ");
string input = Console.ReadLine();
int age;
if (int.TryParse(input, out age) && age > 0)
{
Console.WriteLine($"좋아! 네 나이: {age}");
break; // 입력이 올바르면 반복문 끝내기!
}
else
{
Console.WriteLine("오류! 올바른 양수 나이를 입력해줘.");
}
}
이게 왜 필요하냐면:
가끔 반복문을 무한히(혹은 아주 오래) 돌려야 할 때가 있어, 사용자가 제대로 입력할 때까지. 원하는 이벤트가 발생하면 break로 반복문을 완전히 빠져나오면 돼.
3. continue 연산자: "다음!"
이론과 문법
break와 달리, continue 연산자는 반복문 전체를 끝내는 게 아니라 현재 반복만 건너뛰어: 반복문 안에서 continue 아래에 있는 코드는 실행되지 않고, 바로 다음 반복으로 넘어가.
for (int i = 0; i < 10; i++)
{
if (조건)
{
continue;
}
// continue가 안 걸리면 이 부분이 실행됨
}
예시 3: 짝수 건너뛰기
예를 들어, 범위 내에서 홀수만 출력하고 싶다고 해보자. 짝수는 건너뛰어야 해.
for (int i = 1; i <= 10; i++)
{
if (i % 2 == 0)
{
continue; // 짝수면 아래 코드 건너뛰기!
}
Console.WriteLine("홀수: " + i);
}
어떻게 동작하냐면:
i = 2, 4, 6...일 때 반복문이 continue를 만나면, Console.WriteLine을 실행하지 않고 바로 다음 반복으로 넘어가.
단계별 동작 시각화:
| i | i % 2 == 0 | 동작 |
|---|---|---|
| 1 | false | print, continue 없음 |
| 2 | true | continue, print 없음 |
| 3 | false | print, continue 없음 |
| 4 | true | continue, print 없음 |
| ... | ... | ... |
break와 continue 연산자는 진짜 자주 써. 거의 두 번 중 한 번은 반복문에서 쓰게 될 거야. 써보면 꽤 편할 거야.
GO TO FULL VERSION