본문 바로가기

JAVA

[Java] 수업 정리 10 break, continue, return문 (24.11.12)

3. 흐름제어(분기)문: 

    반복문은 조건이 참이라면 지정한 실행문을 지속적으로 반복한다.

    경우에 따라서 조건의 값이 변화하지 않도록 동작을 구성하기도 한다.

    이런 경우, 무한 루프가 생성되어 지속적으로 반복한다.

    무한반복은 알고리즘이 끝나지 않음을 이야기하며 메모리 낭비를 비롯하여 보안 자체의 취약점으로 작용하기도 한다.

    이러한 문제를 해결하려면 특정 조건에 따라 예외 조건을 주어야 한다.
    이때 사용하는 것이 바로 흐름제어문이다.

    흐름제어문에는 Break, continue, return 총 3가지가 있다.

 

 


1)  Break 문 

레이블이나 루프 밖 등 특정 위치로 분기하는 제어문이다.

break는 그 문장이 포함된 루프만 빠져나온다.

2중 for 혹은 while에서 사용한다면 문장이 포함된 블록 ("{ } 안에") 항목을 탈출하여

가까운 블록 ("기존 블록의 바깥 블록, 상위 { }")로 이동한다.


for, while, do~while 등 반복 Loop나 switch~case를 빠져 나올 때 사용
가장 가까이 있는 하나의 반복문을 빠져나오기 위해 사용

 

 

2)  Continue 문
continue는 자신이 포함된 반복문 연산 순서의 마지막으로 이동하는 명령어이다.

for문은 마지막 연산 순서가 증감식이기 때문에 증감식으로 이동하고,

while은 조건식으로 이동한다

break와는 달리 반복문을 완전히 빠져나가지 않고, 반복문 내의 하나의 작업문을 건너 뛸 때 사용
즉, 현재 진행 중인 Loop를 중단하고 다음 Loop로 진행 됨

 

 

3) Return 문

포함된 문장의 값을 반환하여 method에서는 결과 값을 돌려받는다.

다수의 method를 사용할 때 유용하다
메소드 내에서  return이 실행되면, 아래의 어떠한 코드가 있더라도 값을 반환한 뒤 종료함
즉, return은 해당 함수의 완전한 탈출을 할 때 사용함
void인 경우엔 return; 이렇게 사용되지만, return 자료형이 명시되어 있는 경우엔 오류가 발생하기 때문에 자료형에 맞게 return문을 작성해주어야 함

 

 

※ 주의할 점

break, continue와 같은 경우는 프로그램의 흐름을 확 건너뛰게 하기 때문에 실업무에서 자주 사용되진 않음
break나 continue를 사용하기 보다는 조건식의 true와 false 조건에 맞게 if로 묶어주는 경우가 많음
continue는 반복문의 처음으로 돌아가는 수행을 하기 때문에 상황에 맞게 break를 쓰는 것이 더 효율적일 수 있음