공부블로그

[C#] 여러가지 반복문

bimtaeur30 2025. 3. 29. 16:51


안녕하세요. Bimtaeur30입니다. 오늘은 C#의 여러 가지 반복문에 대해서 쉽고 간단하게 알아보도록 하겠습니다.
먼저 반복문이란 무엇일까요? 반복문이란 특정 조건을 만족할 때까지 코드블록을 반복수행시키는 코드이며, 반복문 사용을 통해 코드의 효율성을 극대화시킬 수 있습니다.
예를 들어, 다음과 같이 값이 0인 int변수에 1을 5번 반복하여 더하는 코드를 작성해 보겠습니다.

public void Exampe()
{
	int number = 0;
	int += 1;
	int += 1;
	int += 1;
	int += 1;
	int += 1;
}


이런 식으로 number 변수에 계속 1을 더하여 최종적으로 number의 값은 5가 되었습니다.
이제 이 코드를 반복문 종류 중 하나인 while 반복문을 사용하여 훨씬 간결한 코드를 만들어보겠습니다.

public void Exampe()
{
	int number = 0;
	while (numer != 5)		// (number의 값이 5가 되면 멈춤)
	{
		number += 1;
	}
}


어떠신가요? 코드가 더욱 간결해 보이지 않나요?
이렇듯 코딩을 하다 보면 어떠한 코드를 반복적으로 실행시켜야 할 때가 많습니다.
그럴 때마다, 오늘 소개해드릴 반복문을 사용하면 더욱 편리하게 코드를 작성하실 수 있습니다.
그럼 본격적으로 반복문의 종류에 대해서 알아보겠습니다.

  • for
  • while
  • foeach


반복문에는 이와 같이 대표적인 3가지가 존재합니다.
이 반복문들을 하나씩 차근차근 알아보겠습니다.


1) for

 

for은 반복횟수를 정하고 사용합니다.
다음은 for의 기본 형식입니다.


for (초기화; 조건; 증감;)
{
// 실행할 코드
}

 

for문은 특이하게도 초기화, 조건, 증감을 쉼표로 구분하지 않고 ‘;’로 구분하도록 되어있습니다.
이는 원래 따로 있었던 초기화와 조건 그리고 증감을 하나로 합쳐서 간결하게 한 것이라 ‘;’로 구분해야 하는 것입니다.
이제 for문을 이용하여 number 값에 1씩 더하여 number를 5로 만드는 코드를 만들어보겠습니다

 

public void Exampe()
{
	int number = 0;
	for (int i = 0; i < 5; i++)
	{
		number++;		// ‘++’ 는 1을 더해줄때 사용한다.
	}
}

 

위 코드에서 int i = 0; 는 초기화 부분으로, i를 선언하고 그 값을 0으로 초기화를 시켜주었습니다.
i < 5; 는 조건 부분으로, i의 값이 5가 되었을 때 반복문을 멈춘다는 의미입니다.
i++은 중괄호 안에 코드가 한 번씩 실행될 때마다 i의 값을 1씩 증가시킨다는 증감 부분입니다.

for문을 사용할 때도 주의해야 하는 점이 있습니다.
먼저 for문이 무한루프에 빠지지 않도록 주의해야 한다는 것입니다.
예를 들어, for (int i = 0; i >= 0; i++)와 같이 i는 영원히 0 이상일 것이고, 조건이 0 이상일 때 이므로 이는 무한루프에 빠지게 되는 코드입니다.
물론 무한루프를 의도했다면 문제가 없는 코드이지만, 이는 비 효율적이므로 다음으로 소개할 두 번째 반복문에서 무한루프를 하는 것이 적절합니다.

2) while

 

while 코드는 특정 조건을 만족할때까지 계속 실행됩니다.
따라서 반복 횟수가 불확실할 때에도 사용하기 좋습니다.
다음은 while의 기본 형식입니다.


while (조건);
{
// 실행할 코드
}

 

while 문은 특정 조건을 만족할때까지 실행할 뿐 아니라 조건에 ‘true’ 를 넣어준다면 무한반복으로도 사용될 수 있습니다.
다음은 while문의 예시입니다.

 

public void Exampe()
{
	int number = 0;
	while (number <= 5) 	// number 이 5보다 작거나 같을때까지 실행한다.
	{
		number++;
	}
}

 

위 코드는 number 가 5가 되면 while문을 종료합니다.
다음으로 무한반복 코드를 만들어보겠습니다.

 

public void Exampe()
{
	int number = 0;
	while (true)
	{
		number++;
	}
}

 

이 코드는 조건 부분이 true, 즉 조건이 참일동안 수행한다 이므로 무한반복 코드가 되었습니다.
따라서 이 코드는 컴퓨터가 죽기 전까지 number에 계속해서 1을 더해줄 것입니다.
이제 마지막으로 foreach에 대해서 알아보겠습니다.

3) foreach

 

foreach문은 배열이나 리스트 등 컬렉션(collection) 요소를 하나씩 순회할때 사용합니다.
즉 배열이나 리스트에 있는 값들을 하나하나 거치며 코드를 수행하는 것입니다.
아래는 foreach문의 기본 형식입니다.


foreach (데이터타입 변수명 in 컬렉션)
{
     // 반복 실행할 코드
}

 

이렇게 foreach는 배열의 값을 하나씩 변수로 변환하여 코드를 배열의 길이만큼 수행합니다.
다음으로는 foreach 문을 이용하여 배열의 값을 sum 변수에 다 더해주는 코드를 만들어보겠습니다.

 

public void Exampe()
{
	int[] number = new int[3]{1, 2, 3};		// 1, 2, 3 의 값을 담고있는 number 배열

	int sum = 0;		// number의 값(1,2,3)을 더하여 저장할 변수

	foreach (int num in number)		// number 배열의 값을 하나씩 num 변수로 변환하여 sum 에 저장한다.
	{
		sum += num;
	}
}

 

이렇게 number 배열의 값을 다 더하여 sum의 값은 6이 됩니다.

이렇게 for, while, foreach 반복문을 하나씩 알아보았습니다.
마무리로 반복문 3가지의 각 특징을 살펴보겠습니다.

for

  • 반복: 반복 횟수가 정해진 경우, 그 횟수만큼 실행
  • 조건: 반복 횟수를 기반으로 조건을 확인
  • 가독성: 비교적 낮음
  • 성능: 빠름


while

  • 반복: 조건을 만족할 때까지 실행
  • 조건: 조건이 false가 될 때까지 반복
  • 가독성: 중간
  • 성능: 조건 설정에 따라 다름


foreach

  • 반복: 컬렉션을 순차적으로 탐색, 실해
  • 조건: 컬렉션의 모든 요소를 순회할 때까지 반복
  • 가독성: 매우 높음
  • 성능: 다소 느릴 수 있음


이렇게 여러 가지 반복문 블로그를 마치도록 하겠습니다.
혹시나 제가 빠트린 부분이나 오류를 발견하셨다면 부디 너그러운 마음으로 댓글창에서 알려주세요.
감사합니다. Bimtaeur30 이었습니다.