조건문이란?
조건문은 특정 조건에 따라 프로그램의 흐름을 제어하는 문장을 뜻합니다.
보통 비교 연산자와 논리 연산자를 이용해 분기점을 나누는 방식으로 많이 사용됩니다.
대표적으로 if문과 switch문이 있습니다.
조건문 종류
if 문
< if문 기본 형식 >
if(조건식)
{
}
if문의 가장 기본적인 형태로 조건식이 참이면 if문 내의 내용을 실행하라는 의미입니다.
하지만 코드를 작성하다보면 한가지 조건이 아닌 다양한 조건을 이용해 체크해야 하는 경우가 있습니다.
이럴 때는 else if를 이용해 새로운 조건을 추가해줄 수 있습니다.
< if - else if 형식 >
int score = 75;
if (score >= 90) //score는 90점 이상이 아니기 때문에 다음 else if문으로...
{
Console.WriteLine("90점 이상입니다.");
}
else if (score >= 80) //score는 80점 이상이 아니기 때문에 다음 else if문으로..
{
Console.WriteLine("80점 이상입니다.");
}
else if(score >= 70) //score는 70점 이상이니까 해당 문구 실행
{
Console.WriteLine("70점 이상입니다.");
}
=> 출력결과: 70점 이상입니다.
score의 값이 75이기 때문에 가장 위의 조건부터 체크하며 내려오다 맞는 조건을 만나면 해당 내용을 실행하게 됩니다.
마지막으로 if문에는 위의 모든 조건식에 해당하지 않으면 내부 코드를 실행할 수 있는 else 문이 있습니다.
< if - else if - else 형식 >
int score = 75;
if (score >= 90) //score는 90점 이상이 아니기 때문에 다음 else if 문으로...
{
Console.WriteLine("90점 이상입니다.");
}
else if(score <= 10) //score는 10점 이하가 아니기 때문에 else 문으로...
{
Console.WriteLine("10점 이하입니다.");
}
else //else문 실행
{
Console.WriteLine("10점 보다 크고 90보다 작습니다.");
}
=> 출력 결과: 10점 보다 크고 90보다 작습니다.
if문과 else if문의 조건식에 모두 부합하지 않았기 때문에 else문이 실행되는 모습을 보실 수 있습니다.
이처럼 if문은 해당 조건식이 true일 경우 해당 블럭의 내용만 실행 후 더 이상 다른 조건은 체크하지 않고 바로 if문을 빠져나오게 됩니다.
switch 문
< switch문 기본 형식 >
enum GameState
{
Main,
Play,
Stop
}
GameState state = GameState.Main;
switch(state) => state 변수로 비교 선언
{
case GameState.Main: => state의 값이 GameState.Main이면 아래 코드 실행
Console.WriteLine("메인메뉴입니다.");
break;
case GameState.Play: => state의 값이 GameState.Play이면 아래 코드 실행
Console.WriteLine("플레이 중입니다..");
break;
default: => state의 값이 위의 조건에 없을 경우 실행, is의 else문과 같은 역할
Console.WriteLine("일시정지 중입니다..");
break;
}
위의 예제처럼 switch문은 변수를 받아와 해당 변수의 값이 무엇일지 case문에 적어놓고 해당 값이 맞을 경우 아래 내용을 실행 후 빠져나오게됩니다.
열거형과 switch문을 잘 사용하면 게임이나 플레이어의 특정 상태에 따라 제어를 하는 등의 기능에 효과적입니다.
'개발, IT > C#' 카테고리의 다른 글
| [유니티 / C#] 배열 (0) | 2025.09.12 |
|---|---|
| [유니티 / C#] 반복문 for, while, foreach (0) | 2025.09.11 |
| [유니티 / C#] 자료형과 형변환 (0) | 2025.09.11 |
| [유니티 / C#] 변수 (0) | 2025.09.08 |
| [유니티 / C#] 재귀함수(Recursive Function) (0) | 2025.09.07 |