본문 바로가기
개발 수업/JAVA

[Java] 클래스/메소드(리턴(return)문)

by 오늘 하루s 2023. 5. 12.
728x90
더보기

Day11-1. 230512

메소드

리턴(return)문

리턴값이 있는 메소드
return 리턴값;

리턴 타입이 있는 메소드는 반드시 리턴문을 사용해서 리턴값을 지정해야 함.
 

리턴값이 없는 메소드 : void

리턴값이 없는 메소드는 리턴 타입으로 void를 사용.
void로 선언된 메소드에서도 return문 사용 가능.
이때 리턴값을 지정하는 것이 아니라 메소드 실행을 강제 종료시키는 역할.

 

연습)

Car03 클래스

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
public class Car03 {
    //필드
    private int gas;
    
    //메서드(method)
    //gas필드의 값을 제공
    int getGas() {
        return this.gas;
    }
    
    //gas필드의 값을 변경
    void setGas(int gas) {
        this.gas = gas;
    }
    
    //gas량 체크 => gas가 존재하니?
    boolean isLeftGas(){
        if(gas<1) {
            return false;
            }
            return true;
            }
    
    //자동차run
    void run() {
        while(true) {
            if(isLeftGas()) {
                System.out.println("달립니다/가스량="+gas);
                gas -= 10;
            }else {
                System.out.println("멈춥니다/가스량="+gas);
                return//메서드종료
            }
        }
    }
cs

 

Car03의 실행클래스

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class Car03_ex {
    public static void main(String[] args) {
        Car03 myCar = new Car03();
        System.out.println("가스량="+myCar.getGas()); //gas=0
        
        //가스충전
         myCar.setGas(100);
         System.out.println("가스량="+myCar.getGas());
         
        //가스량확인
        boolean gasState=myCar.isLeftGas();
      
        if(gasState) { //gas가 존재하면
            System.out.println("출발합니다");
            myCar.run();
        }
        
        if(myCar.isLeftGas()) { //gas가 존재하면
            System.out.println("가스량="+myCar.getGas());
        }else {//gas 존재x하면
            System.out.println"gas를 주입하세요");
        }    
    }
cs
더보기

* 실행 결과

 

가스량=0
가스량=100
출발합니다
달립니다/가스량=100
달립니다/가스량=90
달립니다/가스량=80
달립니다/가스량=70
달립니다/가스량=60
달립니다/가스량=50
달립니다/가스량=40
달립니다/가스량=30
달립니다/가스량=20
달립니다/가스량=10
멈춥니다/가스량=0
gas를 주입하세요

- 7라인에 setGas(7) 메소드를 호출해서 Car03 객체의 gas 필드값을 100으로 변경

- 11라인에서 isLeftGas() 메소드를 호출해서 리턴값을 gasState 변수에 저장.

- 13라인에서 gasState 변수값이 true일 경우 15라인에서 run() 메소드를 호출.

- 18라인에 isLeftGas() 메소드가 boolean 값을 리턴하기 때문에 isLeftGas() 메소드 호출.

728x90