[C#] 흐름 제어 키워드

Learning 

When: 1학년 7월 26일

 

How:

방학에 여름 캠프를 할 때 선생님께서 continue 키워드를 사용하셨는데 그것에 대해 제대로 알고 있지 않았기 때문에 continue를 포함한 대표적인 흐름 제어 키워드에 대해 공부하게 되었습니다.

 

Understanding:

  • 정의 : 흐름 제어 키워드라는 말은 못 들어보셨을 수도 있지만 switch 문이나 for문 등 다양한 문법에서 사용되기 때문에 써보신 적은 있으실 겁니다. 바로 break, return, throw 키워드가 대표적인 흐름 제어 키워드인데, 이름을 보면 알 수 있듯 흐름을 끊고 빠져나가는 역할을 가진 키워드가 많습니다.
  • 종류 : 흐름 제어 키워드는 방금 쓴 것처럼 여러 가지 키워드가 있기 때문에 대표적인 흐름 제어 키워드를 써보겠습니다.
이름 설명 용도
break 반복문에서 이 키워드를 만나면 반복문에서 빠져나가 반복문 다음 코드를 실행합니다.
break; 이렇게 쓰기만 하면 됩니다.
특정한 조건이 충족되면 더 이상 반복을 하고 싶지 않을 때 사용합니다. 예) 1~1000까지 숫자를 하나씩 대조하여 같은 숫자를 찾는 for문에서 숫자를 찾으면 남은 숫자를 대조할 필요가 없기 때문에 break 키워드로 탈출할 수 있습니다.
continue 반복문에서 지금 하는 반복문만 건너뛰고 정상적으로 다음 반복문을 실행합니다. 실행할 줄을 반복문의 끝으로 옮긴다고 생각하시면 됩니다. break 키워드는 그냥 반복문 끝을 넘어서 나가버리는 것이고 이 키워드는 실행 중인 반복만 건너뜁니다.
continue; 이렇게 쓰기만 하면 됩니다.
특정한 조건이 충족되면 반복문 안에 있는 밑의 코드를 실행하고 싶지 않을 때 사용합니다. 예) 여러 숫자가 들어있는 배열에서 10 이하의 숫자를 찾아서 count 변수를 올리는 코드에서 배열을 하나씩 비교하다가 10 이상인 숫자를 발견하면 count 변수를 올리는 코드를 실행하기 전에 지금의 반복문을 끝내고 다음 배열을 비교할 수 있습니다.
return 메서드에서 값을 반환할 때 사용합니다.
return 반환값; 이렇게 사용할 수 있습니다. 
반환 형식이 void인 메서드에서 무언가 잘못되거나 조건에 맞지 않아 메서드를 조기 중단하고 싶을 때 중간에 return을 하면 그대로 메서드가 끝나기 때문에 이렇게도 쓰이고, 평범하게 값을 반환할 때 쓰입니다.
goto 코드의 어느 위치로든 강제로 이동할 수 있기 때문에 반복문이나 switch문 등에서 사용할 수 있지만, 가독성이 떨어지므로 잘 사용하지 않습니다. goto 레이블 이름; 이렇게 사용하면 레이블 이름: 이라는 레이블을 찾아 그 문장의 다음줄을 실행합니다.  특정 상황에서 다른 코드를 건너 뛰고 원하는 구간으로 확실히 넘기고 싶을 때 사용합니다.
throw try-catch문과 관련이 있는 키워드인데, 원하는 상황에 예외를 발생시킬 수 있고, try문에 넣어서 사용하면 catch 문에서 받을 수 있습니다.
throw new 예외 이름; 이렇게 사용할 수 있습니다.
원하지 않는 상황에서 의도적으로 예외를 발생시켜 코드를 건너 뛰거나 디버깅 시 문제를 빠르게 찾는 데 사용할 수 있습니다, 코드 가독성을 높일 때도 사용할 수 있습니다. 

 

Result: 다양한 흐름 제어 키워드가 있는데, 전 지금까지 break와 return 말고는 써본 적이 없어서 조금 더 다양한 키워드를 사용해 좋은 코드를 써보기 위해 노력해야 할 것 같습니다.

'C#' 카테고리의 다른 글

[C#] 구조체 (struct)  (7) 2025.07.28
[C#] var 키워드  (0) 2025.07.27
[C#] 트리(tree) 자료 구조  (3) 2025.07.25
[C#] string 메서드  (0) 2025.07.24
[C#] 값 형식과 참조 형식  (0) 2025.07.23