리턴타입이 void일 때 return;문은 왜있을까?

박두팔이·2023년 1월 18일
0

코드를 보다보면 개념들이 뒤엉켜 구조화되지 못할 때가 많다.

그 일화중의 하나인데, 질문조차 부끄러워서 하지 못한 질문이고 구글링을 해도 아무도 궁금하지 않는 부분인것 같았다. ㅋㅋㅋ

void는 리턴타입이 없는데 왜 if문에서 return문이 등장할까?

void는 리턴타입이 없다. 그렇게 익혔다. 그런데 if문에서 return; 을 발견한 것이다!! 왜왜!!

의문의 코드가 이거였다.

public void insert(int data) {
   Node newNode = new Node(data);
           
   if (root == null) {
     root = newNode;
     return;
   }
  if(root.data == data){return;}  

그렇다.

if(){return;} 은 해당 라인에서 메서드를 종료하겠다는 의미다.

💡 그런데 연쇄적으로 나타난 나의 또다른 궁금증!!!
그러면 if( ){ } 은 뭐야??!!

if(){ }메서드를 종료하지 않고 나머지 코드를 실행하겠다는 의미다.

실제로 if(){}은 아무코드도 실행되지 않고 필터만 해준다.

else if(actions[i].equals("-1")||actions[i].equals("1")){
// 아무것도 하지 않는다
}
profile
기억을 위한 기록 :>

0개의 댓글