자바

JAVA 자바 메서드 - 리턴문 , 리턴값이 있는 메서드, 리턴값이 없는 메서드

알통몬_ 2017. 3. 12. 19:20
반응형


안녕하세요 알통몬입니다.

공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!

포스팅 내용이 찾아주신 분들께 도움이 되길 바라며

더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^

 

리턴값이 있는 메서드

리턴 타입이 있는 메서드는 리턴문을 사용해서 리턴값을 저장해야 합니다.

만약 return문이 없다면 컴파일 오류가 발생합니다. return 문이 실행되면 메서드는 즉시 종료됩니다.

return 리턴값;

리턴문의 리턴값은 리턴 타입이거나 리턴 타입으로 변환될 수 있어야 합니다. 

리턴 타입이 int 인 메서드는 메서드에서 byte, short , int 타입의 값이 리턴 되어도 상관없습니다. 

byte, short 는 int 로 자동 타입 변환되기 때문입니다.

ex)

 int plus(int x, int y){                     |   int plus(int x, int y) {

    int result = x + y;                     |       byte result = (byte)(x + y);

   return result;                     |       return result;

}                                          |       }


주의할 점 : return문 이후에 실행문이 오면 안됩니다.


boolean isLeftGas() {

        if(gas==0){

          System.out.println("gas가 없습니다.");

          return false;

        }

          System.out.println("gas가 잇습니다..");

          return true;

}



리턴값이 없는 메서드

void 로 선언된 리턴값이 없는 메서드도 return 문을 사용할 수 있습니다. 

 return;


아래에서는 return문을 대신해서 break 문을 사용할 수도 있습니다. 

만약 while문 뒤에 실행문이 추가적으로 더 있을 경우, break문을 반드시 사용해야 합니다.

 return문은 즉시 메서드를 종료시키기 때문입니다.


void run(){

       while(true){

          if(gas>0){

              System.out.println("달립니다.(gas잔량 :" +gas+ ")");

              gas -= 1;

           }else{

            System.out.println("멈춥니다.(gas잔량 :" +gas+ ")");

            return;

            }

         }

     }


리턴 문 예제

예제1)

public class Car {

//필드

int gas;

//생성자

//메소드

void setGas(int gas) {

this.gas = gas;

}

boolean isLeftGas() {

if(gas==0) {

System.out.println("gas가 없습니다."); 

return false;

}

System.out.println("gas가 있습니다."); 

return true;

}

void run() {

while(true) {

if(gas > 0) {

System.out.println("달립니다.(gas잔량:" + gas + ")");

gas -= 1;

} else {

System.out.println("멈춥니다.(gas잔량:" + gas + ")");

return;

}

}

}

}

 


예제2)

public class CarExample {

public static void main(String[] args) {

Car myCar = new Car();

myCar.setGas(5);  //Car의 setGas() 메소드 호출

boolean gasState = myCar.isLeftGas();  //Car의 isLeftGas() 메소드 호출

if(gasState) {

System.out.println("출발합니다.");

myCar.run();  //Car의 run() 메소드 호출

}

if(myCar.isLeftGas()) {  //Car의 isLeftGas() 메소드 호출

System.out.println("gas를 주입할 필요가 없습니다.");

} else {

System.out.println("gas를 주입하세요.");

}

}

}

반응형