break/continue, goto(지양), 범위, 예외와 방어 검사
break와 continue를 올바르게 사용하고, goto를 지양하는 이유를 이해하며, 범위 규칙을 안전하게 적용하고, 예외와 방어 검사 중에서 선택합니다.
break/continue, goto(지양), 범위, 예외와 방어 검사은(는) CoddyKit의 무료 C# Academy 강의입니다. 이것은 3개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 C# Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. C# Academy 강의에는 총 3개의 강의가 포함되어 있습니다.
단원 개요
목표: break/continue로 반복 흐름을 제어하고, goto를 피하며, 변수의 scope를 지키고, 예외와 방어 검사 중 적절한 방법을 선택합니다.
break 동작
break는 반복문을 즉시 종료합니다.
using System;
public class Program
{
public static void Main(string[] args)
{
for (int i = 1; i <= 10; i = i + 1)
{
if (i == 4)
{
Console.WriteLine("Stop at 4");
break; // exit loop completely
}
Console.WriteLine("i = " + i);
}
}
}
continue 동작
continue는 현재 반복을 건너뛰고 다음 반복으로 이동합니다.
using System;
public class Program
{
public static void Main(string[] args)
{
for (int i = 1; i <= 5; i = i + 1)
{
if (i % 2 == 0)
{
continue; // skip even numbers
}
Console.WriteLine("Odd: " + i);
}
}
}
goto 피하기
goto는 복잡하게 얽힌 흐름을 만듭니다. 대신 구조화된 반복문(while/for/foreach)을 사용하십시오.
using System;
public class Program
{
public static void Main(string[] args)
{
// Goto works but harms readability; prefer structured loops.
int i = 0;
start:
i = i + 1;
Console.WriteLine("i = " + i);
if (i < 3)
{
goto start; // avoid using goto in real code
}
// Prefer: while loop (clear intent)
int j = 0;
while (j < 3)
{
j = j + 1;
Console.WriteLine("j = " + j);
}
}
}
범위 기초
scope는 중괄호 { }로 정의됩니다. 변수를 사용할 위치 가까이에서 선언하고 중첩된 블록에서 이름을 재사용하지 마십시오.
using System;
public class Program
{
public static void Main(string[] args)
{
int x = 10; // outer scope
if (x > 0)
{
int y = 5; // inner scope
Console.WriteLine("x + y = " + (x + y));
}
// y is not visible here; this would not compile:
// Console.WriteLine(y);
// Shadowing (avoid reusing names in nested scopes)
int value = 1;
{
int valueInner = 2; // use a new name instead of shadowing
Console.WriteLine("value=" + value + ", inner=" + valueInner);
}
}
}
진단 기초
예상되는 잘못된 입력에는 방어 검사를 사용하고, 예외적인 상태에는 예외를 사용하십시오.
using System;
public class Program
{
// Guard check: return a bool and an out parameter (no exception on normal invalid input).
public static bool TryDivide(int x, int y, out int result)
{
if (y == 0)
{
result = 0;
return false; // guard fail
}
result = x / y;
return true;
}
// Exceptional state: throw when something truly exceptional happens.
public static int PriceWithTax(int price, int ratePercent)
{
if (price < 0)
{
throw new ArgumentOutOfRangeException("price");
}
if (ratePercent < 0 || ratePercent > 100)
{
throw new ArgumentOutOfRangeException("ratePercent");
}
return price + (price * ratePercent / 100);
}
public static void Main(string[] args)
{
int r;
bool ok = TryDivide(10, 0, out r);
Console.WriteLine("TryDivide ok=" + ok + " result=" + r);
try
{
int total = PriceWithTax(100, 18);
Console.WriteLine("Total=" + total);
}
catch (Exception ex)
{
Console.WriteLine("Error: " + ex.Message);
}
}
}
break와 continue 비교
복습
복습: 종료하려면 break를, 한 번의 반복을 건너뛰려면 continue를 사용하십시오. goto는 피하고, 변수를 올바른 scope에 두십시오. 예상되는 잘못된 입력에는 방어 검사를, 예외적인 상태에는 예외를 우선 사용하십시오.
자주 묻는 질문
“break/continue, goto(지양), 범위, 예외와 방어 검사” 강의는 무료인가요?
네 — “break/continue, goto(지양), 범위, 예외와 방어 검사” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 C# Academy 강의 전체를 잠금 해제할 수 있습니다. C# Academy 강의에는 총 3개의 강의가 포함되어 있습니다.
“break/continue, goto(지양), 범위, 예외와 방어 검사”에서 뭘 배우나요?
break와 continue를 올바르게 사용하고, goto를 지양하는 이유를 이해하며, 범위 규칙을 안전하게 적용하고, 예외와 방어 검사 중에서 선택합니다. 브라우저에서 직접 실행하는 실습 코드로 C# Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
C# Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 C# Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 3개 중 2번째 강의입니다.
“break/continue, goto(지양), 범위, 예외와 방어 검사” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 C# Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 C# Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- if/else, switch(기존 방식), 반복문: for, while, do, foreach
- break/continue, goto(지양), 범위, 예외와 방어 검사
- 간단한 진단: 예외와 방어 검사