모든 Software Code의 초석은 역시 흐름제어라고 할 수 있습니다. 흐름제어는 code를 실행할지 여부를 결정하는 것으로서 제대로 된 C# Programming을 수행하려면 C#에서 제공되는 여러 흐름제어에 대한 구현방법을 알아둘 필요가 있습니다.
1. 반복과 조건부 흐름 제어
어떤 Programming언어를 사용하느냐와는 무관하게 Application개발시에는 반드시 하나 이상의 필요한 논리를 적용하여 구현하곤 합니다. 실제 Programming에서도 하나 또는 그 이상의 기준을 토대로 실행을 결정하는 Code를 무수히 작성하게 되는데 이때의 결정은 Program이 실행될 때 어떤 Code를 실행할지, 얼마나 실행할지 그리고 어떤 Code를 우회할지를 정의하게 됩니다. 이러한 과정은 Program의 실행흐름을 제어하기 때문에 통상 '흐름제어'라고 명명하며 흐름제어는 크게 반복(얼마만큼 Code를 실행할 것인가)과 조건부(Code의 실행여부) 흐름제어로 분류될 수 있습니다.
여기까지 오는 과정에서 우리는 이미 C#의 논리적 표현을 사용하여 어떤 대상이 true인지 false인지를 판단하는 구문을 작성해 보았습니다. 일부 예제에서 if문을 사용해본 것이 대표적인데 이제 이 if문에 대해 좀 더 자세히 알아보도록 하겠습니다.
2. if
if문은 Programming Code작성시 사용되는 흐름제어문에서 가장 기본적인 문에 해당합니다. C나 C++, Java와 같은 언어에 익숙하다면 C#의 if문의 의미를 파악하는데 큰 어려움이 없을 것입니다.
C#에서 기본적인 if의 문법은 아래와 같습니다.
if (boolean 조건식)
{
//상기 조건식의 결과가 true인 경우 실행할 C# code
}
boolean 조건식이 true로 평가되면 if문의 본문이 실행되는데 if문의 본문은 중괄호({})내부에서 구현됩니다. 또한 만약 조건식이 false로 평가된다면 본문의 Code는 실행되지 않습니다.
예를 들어 하나의 값이 다른 값보다 큰지 여부에 따라 조건이 만들어져야 하는 경우 아래와 같이 if문을 작성할 수 있습니다.
int x = 10;
if (x > 9)
{
Console.WriteLine("x is greater then 9.");
}
명확하게 x는 9보다 더 큰값을 가지고 있으므로 Console.WriteLine Method에 지정된 Message의 내용이 표시될 것입니다.
참고로 if의 본문이 단 한줄뿐이라면 중괄호(({})는 생략될 수 있지만 본문에 하나 이상의 문이 포함된다면 중괄호는 반드시 추가되어야 합니다.
3. if...else 문
if... else문은 if문의 변형으로 if문의 표현식이 false로 평가되는 경우 실행할 code를 다음과 같이 지정할 수 있습니다.
if (조건)
{
//조건이 true인 경우 실행할 code
}
else
{
//조건이 false인 경우 실행할 code
}
위의 문법을 통해서 우리는 이전의 예제를 확장하여 조건이 false로 평가되는 경우 아래와 같이 다른 message를 표시하도록 할 수 있습니다.
int x = 5;
if (x > 9)
{
Console.WriteLine("x is greater than 9");
}
else
{
Console.WriteLine("x is less than 9");
}
위 예제의 경우 x는 명백히 9보다 작으므로 조건문에서 false로 평가되고, 따라서 2번째 WriteLine문이 실행될 것입니다.
if문과는 별개로 if의 본문이 단 하나의 문장으로만 이루어진다면 중괄호({})는 생략할 수 있습니다. 따라서 다음 예제는 여전히 유효합니다.
int x = 5;
if (x > 9)
Console.WriteLine("x is greater than 9");
else
Console.WriteLine("x is less than 9");
4. if...else if
지금까지는 단일 논리 표현식에 대한 결과에 따라 실행을 결정하는 if문을 다뤄봤습니다. 하지만 때로는 하나가 아닌 여러 가지 조건에 따라 실행을 결정하는 if문을 작성해야 할 때도 있습니다. 이러한 목적에 따라 우리는 if... else if문을 구조를 사용할 수 있으며 관련 문법은 아래와 같습니다.
if (조건1)
{
//조건1이 true인 경우 실행
}
else if (조건2)
{
//조건2가 true인 경우 실행
}
else if ...(원하는 만큼 추가할 수 있음)
...
else
{
//위에 사용된 모든 조건이 false인 경우 실행
}
마지막 else문은 모든 조건이 false인 경우 어떤것도 실행할 것이 없다면 생략할 수 있습니다.
상기 문법에 따라 if의 예제는 다음과 같이 작성할 수 있습니다.
int x = 5;
if (x == 1)
Console.WriteLine("x is 1");
else if (x == 2)
Console.WriteLine("x is 2");
else if (x == 3)
Console.WriteLine("x is 3");
else if (x == 4)
Console.WriteLine("x is 4");
else
Console.WriteLine("x is other number.");
위와 같은 방식은 비교적 비교해야할 대상이 적은 경우 별 문제가 없겠지만 else if문이 너무 많이 사용되는 경우 오히려 다루기 힘들어질 수 있으므로 주의해야 합니다. 비교해야 할 조건이 많은 경우라면 C#에서는 switch문을 사용할 수 있으며 이를 통해 유연하고 효과적인 대처가 가능합니다.
'.NET > C#' 카테고리의 다른 글
[C# 13과 .NET 9] C# 연산자와 표현식 - 7 (2) | 2025.01.03 |
---|---|
[C# 13과 .NET 9] C# 변수와 상수 - 6 (0) | 2024.12.05 |
[C# 13과 .NET 9] VSCode에서 App생성하기 - 5 (0) | 2024.12.05 |
[C# 13과 .NET 9] Visual Studio Code 둘러보기 - 4 (0) | 2024.11.27 |
[C# 13과 .NET 9] Visual Studio Code와 .NET9 설치하기 - 3 (1) | 2024.11.26 |