Break; == 반복문에서의 탈출

for, while, switch 와 같은 반복문을 사용할 때 break; 를 사용하게 되면 해당 반복문을 탈출하게 된다.

아래 기술할 return 과의 차이점은, for문과 같은 반복문을 종료한 뒤에도 코드가 있다면 계속해서 실행된다는 점이다.

 

public void loopSum(){ // break를 사용한 탈출!

	int sum = 0;
	for(int i = 1; i < 10; i++) {
    	sum += i;
        System.out.print(i + " ");
        if(i == 7) break;
    }
    System.out.print("합계 : " + sum); // 결과 1 2 3 4 5 6 7 합계 : 28
}

예시에서 보이듯, for문을 탈출한 뒤에서 print 출력이 이루어진다.

 

Return; == 메소드 자체를 탈출

return은 메소드 자체를 종료/ 탈출시키는 기능을 한다.

아래의 예시를 기준으로 한다면, i가 7이 되면 loopSum이라는 메소드 자체가 종료되는 식이다.

 

public void loopSum(){ // break를 사용한 탈출!

	int sum = 0;
	for(int i = 1; i < 10; i++) {
    	sum += i;
        System.out.print(i + " ");
        if(i == 7) return;
    }
    System.out.print("합계 : " + sum); // 결과 1 2 3 4 5 6 7 
}

실제로 출력을 해보면 for 문을 종료한 뒤 출력되어야 할 합계 : sum 이라는 구문이 출력되지 않고 종료됨을 알 수 있다.

 

 

* 기타

만약 메소드 자체가 반복문 하나만을 다룬다면, break을 사용한다해도 return와 차이가 없을 수도 있다. 왜냐하면 반복문을 종료하고 난 뒤에 코드가 없기 때문이다. 하지만 break와 return의 차이를 확실히 알고, 적합한 상황에 적합한 문법을 사용하는 것이 가장 중요하다.

BELATED ARTICLES

more