공시 한 판

컴퓨터일반 개념서 · 알고리즘과 프로그래밍 언어

제어 흐름과 반복문

설명 영상 제어 흐름과 반복문 · 2:34

핵심 정리

제어 흐름은 프로그램의 명령문이 실행되는 순서를 뜻한다. 조건문, 반복문, 분기문, 예외 처리 구문은 이 순서를 바꾸는 장치다. 조건문은 조건의 참과 거짓에 따라 수행할 문장을 고르고, 반복문은 같은 문장을 조건에 맞는 동안 되풀이한다.

반복문 안에서 실행 흐름을 바꾸는 분기문으로는 break와 continue가 대표적이다. continue는 남은 문장을 건너뛰고 다음 반복으로 넘어가게 하며, break는 반복문을 즉시 빠져나가게 한다. 두 문장은 반복을 이어 가는지 끝내는지에서 차이가 난다.

메서드 안에서 쓰는 return 문은 실행 중인 메서드를 즉시 끝내고 호출한 곳으로 돌아가게 한다. 함수가 호출되면 실행은 함수 코드의 시작 부분으로 옮겨 가고, 함수가 끝나면 제어는 호출 지점으로 돌아간다. 이 점에서 함수 호출도 제어 흐름의 한 형태다.

한편 final은 상수 선언 등에 쓰는 예약어이며, 조건 흐름을 제어하는 문장이 아니다. 실행 순서를 바꾸는 문장과 선언에 쓰는 예약어를 구별하는 것이 이 단원의 기본이다.

자세히

반복문 안의 break와 continue

두 문장은 모두 반복문 안에서 흐름을 바꾸지만, 영향을 미치는 범위가 다르다. continue가 실행되면 현재 회차에서 뒤에 남은 문장은 실행되지 않고 반복문의 끝으로 이동하여 다음 회차를 시작한다. 반복문 자체는 끝나지 않는다. 반면 반복문을 빠져나가는 break는 반복문 전체를 끝내고 반복문 바로 뒤의 문장으로 제어를 넘긴다.

두 문장이 한 반복문 안에 함께 있으면 순서에 따라 결과가 달라진다. 앞의 continue가 먼저 실행되는 회차에서는 뒤에 있는 break가 실행되지 않는다. 따라서 출력 결과를 구할 때는 문장이 적힌 순서대로 따라가야 한다.

메서드 종료와 return

메서드 전체가 끝나는 return은 반복문이 아니라 실행 중인 메서드를 대상으로 한다. 반복문 안에서 return이 실행되면 반복문과 메서드가 함께 끝나므로, break로 반복문만 빠져나가는 것과 결과가 다르다. 세 문장의 범위는 다음과 같다.

이어지는 내용

로그인하면 하루 5페이지까지 무료로 전체를 읽을 수 있습니다.

앱에서 이 절 읽기