주인장의 프로그래밍 개발 공부방

[Chapter 4 반복문] 1. 반복문이란? 본문

프로그래밍 기본 지식/Chapter 4 반복문

[Chapter 4 반복문] 1. 반복문이란?

거신 2019. 6. 21. 10:40

무사히 조건문을 이해하고 넘어왔다면 이제는 반복문을 알아볼 차례다.

반복문은 또 무엇일까?

 

목표 : 반복문의 뜻과 종류를 정확하게 이해하고 분류할 수 있다.

 

1. 반복문이란?

 

프로그래밍에는 반복문이라는 것도 존재하는데

이 녀석도 조건문과 더불어 꽤나 중요하고 자주 쓰이기 때문에

정확하게 이해하는 것이 중요하겠다.

그렇다면 반복문이라는 건 무엇일까?

 

반복문이라는 말 뜻을 그대로 풀이하면 말그대로 반복하는 명령어이다.

무언가를 계속해서 반복하는 것인데

프로그래밍에서는 반복문에 해당하는 { } 안의 내용이 계속해서 반복하는 것을 뜻한다.

즉, 똑같은 행동을 계속해서 반복하게 되는 것이다.

그렇기 때문에 똑같은 내용을 계속해서 출력해야하거나

같은 동작을 계속 반복해야할 때 이 반복문이라는 것을 사용해서

코드의 길이도 줄이고 효율성도 극대화하는 것이다.

 

말이 반복문이고 효율성이 좋다고 하는데 막상 크게 와닿지는 않을 것이다.

간단한 예시를 들면 조금은 이해하는데 도움이 될 것이다.

만약 우리가 "안녕하세요."라는 문장을 10번을 출력해야 한다면

우리는 기본적으로 출력을 10번하는 것이기 때문에

 

System.out.println("안녕하세요.");

System.out.println("안녕하세요.");

System.out.println("안녕하세요.");

System.out.println("안녕하세요.");

System.out.println("안녕하세요.");

System.out.println("안녕하세요.");

System.out.println("안녕하세요.");

System.out.println("안녕하세요.");

System.out.println("안녕하세요.");

System.out.println("안녕하세요.");

 

와 같이 10번을 똑같이 작성해서 출력할 것이다.

그런데 이 작업이 얼마나 비효율적이고 쓸데없는 것인지 코드를 작성해보면 잘 알 것이다.

그리고 일반적으로 프로그래밍에서는

중복되는 코드를 최대한 줄이고 간단하게 작성하는 것이 최우선이다.

그렇기 때문에 중복을 줄여야 하는데 여기에서 바로 반복문의 진가가 발휘된다.

아직 배우진 않았지만 반복문을 사용하면

 

System.out.println("안녕하세요.");

 

라는 코드를 한 줄만 작성해도 10번을 출력할 수 있다.

굉장히 놀랍지 아니할 수가 없다.

그렇다면 도대체 어떤 녀석이길래 이렇게 효과적으로 코드를

작성하게 해주는지 알아보도록 하자.

 

2. 반복문의 종류

 

자바에서 반복문3가지가 존재한다.

for문, while문, do-while문이 그 것인데

사실 do-while문while문에서 파생된 것이기 때문에

많이 사용하는 것을 생각한다면 반복문도 조건문과 동일하게 2가지라고 할 수 있겠다.

그렇다면 어떻게 생긴 녀석들인지 전체적인 틀을 알아보도록 하자.

 

먼저 for문을 알아보자.

우리가 반복문을 사용한다면 가~~장 많이 사용하고 또 사용해야하는 녀석이다.

반복문의 대표라고도 할 수 있겠다.

for문의 틀을 살펴보자면

for(변수 초기화(출발점); 조건식(도착점); 증감연산자(보폭) {
	구현부
}

이렇게 생긴 녀석이 for문이다.

뭔가 굉장히 복잡해 보이고 이번에도 생소한 구조가 등장했다.

하지만 하나씩 뜯어보면 별거 아니니 걱정하지 않아도 된다.

일단 이번 시간에는 어떻게 생겼는지만 알면 되니

자세한 내용은 다음에 알아보도록 하자.

 

다음으로 while문이다.

반복문에서 2인자인 이 녀석은

일반적으로 반복문을 사용할 때가 아니라

조금은 특수한 경우에 많이 사용된다.

흔히 무한루프라고 하는 경우에 가장 주요하게 사용되는데

말그대로 무한 반복을 할 때가 되겠다.

while문

while(true 또는 false, 또는 조건식) {
	구현부
    break;
}

while문은 ( )에 들어가는 것은 정해져 있다고 할 수 있다.

true, false가 들어갈 수도 있지만 조건식도 들어갈 수 있다.

결국 true, false로 while문이 동작한다는 것을 알 수 있다.

그리고 while문 안에 break;가 자리잡고 있는데

만약 break;가 없다면 멈출 수 있는 방법이 없기 때문에

while문은 무한으로 반복할 것이다.

그래서 무한루프라고 하는 것이고

while문을 사용할 때는 break;와 같이 반복문을 종료시키는 무언가가 "꼭" 필요하다.

 

그리고 while문에서 파생되어 등장한 것이 바로

do-while문이다.

do {
	구현부
}
while(true 또는 false, 또는 조건식);

while문에서 파생되었지만 조금 다르게 생겼다.

자세히 보니 do라는 부분이 생겼고

while에 구현부가 사라졌다.

do-while문while문과 비슷하지만 다른 점이 하나있다면

일단 조건식이 true든 false든 상관없이

구현부를 무조건 최소 한 번은 실행한다는 점이다.

그걸 가능하게 해주는 녀석이 do라는 녀석이다.

자세한 건 뒤에서 알아보도록 하자.

 

3. 마무리

 

자바에서 반복문은 총 3가지가 존재하고 있다.

for문, while문, do-while문이 그것인데

일반적으로 반복문을 사용한다고 하면 for문을 가장 많이 사용한다.

for문

for(변수의 초기화; 조건식; 증감연산자) { 구현부 }

의 형태로 구현부를 반복하게 된다.

while문무한루프에서 주로 사용하는데

while(true 또는 false 또는 조건식) { 구현부 }

의 형태로 반복문을 실행하게 된다.

여기에선 break;와 같이 멈추는 동작이 없으면

무한으로 반복하게 되니 주의하자.

마지막으로 do-while문은 while문에서 파생된 녀석인데

do { 구현부 }

while(true 또는 false 또는 조건식)

의 형태로 일단 무조건 최소 한 번은 구현부를 실행하고

그 다음부터 조건에 따라 구현부를 반복하는 형태가 되겠다.

Comments