[C#] 2.2 해야 할 일에 관한 문법 사항 2.2.2 식과 문

C#에서 수행해야 할 논리적 코드를 표현하는 방법에는 연산자 이외에도 식과 문을 제공하고 있습니다. 수행해야 할 코드에서 값이나 변수, 속성, 리터럴, 연산자, 함수 호출 등의 코드 조각을 식(Expressions)이라 합니다. 그리고 수행해야 할 코드를 세미콜론 단위로 구분하여 표현하는데 이를 문(Statements)이라 부릅니다. 결국, 문을 구성하는 것이 식이라 할 수 있습니다.

식에는 단순히 변수이름을 사용하는 것과 리터럴 상수를 사용하는 것, 메서드 이름과 인자를 사용하는 것이 있습니다.

문에 종류에는 선언문과 연산 구문과 같이 단순구문과 조건(선택)문, 반복문, 점프(분기)문, 예외 처리문 등과 같이 블록을 구성하여 블럭 내에 수행해야 하는 절차를 표현하는 문이 있습니다. 그리고 C#의 조건문과 반복문은 C언어와 C++과 다르게 조건에 사용하는 식의 연산 결과가 반드시 bool형이어야만 합니다.

[그림 9] 조건식에 bool 형식이 아닌 형식을 사용했을 때의 오류 화면
[그림 9] 조건식에 bool 형식이 아닌 형식을 사용했을 때의 오류 화면

▶if – else 문

조건식으로 bool 형식이 올 수 있으며 조건식의 결과에 따라 수행 여부를 결정합니다. 조건이 참일 때 수행하는 구문만 정의할 때는 else 부분을 생략할 수 있습니다.

▶ switch 문

여러 가지 경우의 코드에서 원하는 코드만 수행할 수 있습니다. 각 경우에 수행할 코드는 case문을 사용하며 일치하는 case문부터 시작합니다. 그리고 break문을 만나면 switch문을 빠져나갑니다. case문으로 표현하지 않은 때에 수행할 코드는 default문을 사용합니다.

그리고 C언어와 C++언어와 다르게 문자열을 사용할 수 있어 개발에 편의성을 높였습니다. 또한, C언어와 C++과 다르게 case문에 수행할 코드가 있을 때에는 break문을 명시해야 합니다.

▶ while , do while 문

while문과 do while문은 조건식이 참일 동안 반복해서 수행합니다. if문과 마찬가지로 조건식은 bool 형식이 와야 합니다. 그리고 반드시 한 번은 수행해야 한다면 do while문을 사용할 수 있습니다.

반복문을 수행 도중에 빠져나가려고 할 때에는 break문을 사용합니다. 또한, 반복문의 수행 도중에 반복문 시작으로 가고자 할 때는 continue문을 사용합니다. for문을 이용하여 반복문을 표현할 때도 break와 continue에 대한 사항은 같습니다.

▶ for 문

while문 처럼 조건식이 참일 동안 반복해서 수행합니다. 반복문을 수행하기 전에 초기화와 반복문에 조건을 변화시키는 부분이 있어서 초기 구문을 생략하는 개발자의 실수가 줄어듭니다.

▶ foreach문

배열과 같은 컬렉션에 있는 각 요소에 대해 같은 작업을 수행할 때 사용됩니다. 사용자가 정의한 형식을 foreach문에서 사용하려면 GetEnumerator, MoveNext,Reset,Current 멤버가 있어야 합니다. 이 부분은 8장 인터페이스와 컬렉션에서 다루겠습니다.