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
'개발 수업 > JAVA' 카테고리의 다른 글
[Java] 클래스/인스턴스 멤버와 정적 멤버 (0) | 2023.05.15 |
---|---|
[Java] 클래스/메소드(메소드 오버로딩(overloading)) (0) | 2023.05.12 |
[Java] 클래스/Getter와 Setter 메소드 (0) | 2023.05.12 |
[Java] 클래스/접근제한자 (0) | 2023.05.11 |
[Java] 클래스/메소드(method)(메소드 선언,리턴문) (0) | 2023.05.11 |