본문 바로가기
어쩌면 모두 궁금할지도?

break; vs. return;

by notcherry 2023. 7. 5.
 void run(){
        while (true) {
           if (gas > 0){
                System.out.println("left gas : "+gas);
                gas-=1;
           } else {
                System.out.println("Check your gas.");
                return;
           }
        }
    }

 

메소드 만들다가 return; 대신 break;는 사용할 수 없는지 궁금

그 차이는 뭔지?

 

결론부터 말하자면 둘 다 사용 가능하다.

 

 

1. return을 사용할 경우

else인 경우에 return하고 바로 run 메소드 탈출.

 

2. break를 사용할 경우

else문만 빠져나오라는 뜻으로 밑의 단계를 거처 run 메소드 탈출.

주어진 코드에는 else 밑에 다른 조건문이 없지만 while문을 탈출해야 run 메소드를 탈출할 수 있다.

그럼 while이 true일 때 무한 루프를 돌게 될 수도 있고, 다른 조건문을 돌린 후에 run 메소드를 탈출하게 된다는 점에서 효율적이지 못 하다. 처리하는 입장인 컴퓨터에서는 break 아래 문지기들을 계속 만나야 하니 번거로운 상황!

 

 

지금은 예제 코드라 둘 중 뭘 사용하든 상관 없지만

나중에 실무에서 조건이 많아지는 경우에는 효율적인 측면을 더 고려하며 구현해야 할 것 같다.