728x90
더보기
Day9-3. 230510
메소드(Method)
객체의 동작(기능)
메소드 선언
선언부(리턴 타입, 메소드 이름, 매개 변수 선언)와 실행 블록으로 구성
리턴 타입
- 리턴값의 타입
- 리턴값 : 메소드를 실행한 후의 결과값
- 리턴값이 있을 수도 있고 없을 수도 있으나 리턴값이 있을 경우 리턴 타입이 선언부에 명시되어야 함.
ex) 전자계산기 객체에서 전원을 켜는 powerOn() 메소드 -> 리턴값 없음
void powerOn() {....} => 리턴값이 없는 메소드는 리턴 타입 void로 기술.
두 수를 나누는 기능인 divide() 메소드 ->나눗셈 결과 리턴해야 함.
doble divide(int x, int y) {.....}
메소드 이름
메소드의 기능이 드러나도록 식별자 규칙에 맞게 이름을 지어줌.
매개 변수 선언
- 메소드를 실행할 때 필요한 데이터를 외부로부터 받기 위해 변수 선언.
- 매개 변수가 필요한 경우도 있고 필요 없는 경우도 있음.
메소드 실행 블록
실행 할 코드를 작성
연습 >
Car01 클래스
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
36
|
public class Car01 {
//field : data (명사적 형태)
String color="red"; // 색상 - "red"
double fuelEff=10.5; // 연비 - 10.5
int currentSpeed=0; //현재속도
int maxSpeed=300; //최대속도
//method : 기능.동작 (동사적 형태)
//시동켜기
void powerOn() {
System.out.println("powerOn()호출");
}
//시동끄기
void powerOff() {
System.out.println("poewrOff()호출");
}
//속도높이다
void speedUp(){
System.out.println("speedUp()");
currentSpeed++;
}
//속도낮추다
void speedDown(){
System.out.println("speedDown()");
currentSpeed--;
}
}
|
cs |
Car01_EX 클래스
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
|
public class Car01_Ex {
public static void main(String[] args) {
Car01 myCar = new Car01(); //Car01_Ex클래스에서 Car01객체 생성
System.out.println(myCar.color); //red
myCar.color = "blue";
System.out.println(myCar.color); //blue
myCar.powerOn();
System.out.println("최초speed="+myCar.currentSpeed); //0
myCar.speedUp();
System.out.println("증속후의 speed="+myCar.currentSpeed); //1
myCar.speedDown();
System.out.println("감속후의 speed="+myCar.currentSpeed); //0
myCar.powerOff();
System.out.println("----------------");
System.out.println();
Car01 myCar2 = new Car01();
System.out.println(myCar2.color); //red
System.out.println(myCar2.fuelEff);
myCar2.fuelEff = 11.1;
System.out.println(myCar2.fuelEff);
}
}
|
cs |
더보기
* 실행 결과
red
blue
powerOn()호출
최초speed=0
speedUp()
증속후의 speed=1
speedDown()
감속후의 speed=0
poewrOff()호출
----------------
red
10.5
11.1
728x90
'개발 수업 > JAVA' 카테고리의 다른 글
[Java] 클래스/접근제한자 (0) | 2023.05.11 |
---|---|
[Java] 클래스/메소드(method)(메소드 선언,리턴문) (0) | 2023.05.11 |
[Java] 클래스/필드(Field) (0) | 2023.05.10 |
[Java] 클래스/객체 지향 프로그래밍 (0) | 2023.05.10 |
[Java] 배열 복사(얕은 복사,깊은 복사), Object 클래스 (0) | 2023.05.09 |