int sum1(int[] values) { }
// 방법 1
int[] values = {1, 2, 3};
int result = sum1(values);
// 방법 2
int result = sum1(new int[] {1, 2, 3, 4, 5});
int sum2(int ... values) { }
int result = sum2(1, 2, 3);
int result = sum2(1, 2, 3, 4, 5);
메소드 (매개값);
public class ClassName {
void method1(String p1, int p2) {
...
}
void method2() {
method1("홍길동", 100);
}
}
타입 변수 = 메소드(매개값)
public class ClassName {
void method1(int x, int y) {
int result = x + y;
return result;
}
void method2() {
int result1 = nethod1(10, 20); // result1에는 30 저장
double result2 = nethod1(10, 20); // result2에는 30.0 저장
}
}
클래스 외부에서 다른 메소드를 호출할 경우 클래스로부터 객체를 생성. 메소드는 객체에 소속된 멤버이므로 객체가 존재하지 앟으면 메소드도 존재하지 않기 때문
클래스 참조변수 = new 클래스(매개값);
객체가 생성되면 참조 변수와 함께 도트(.) 연산자를 사용해서 메소드를 호출
참조변수.메소드(매개값);
Car myCar = new Car(); // Car 객체 생성
myCar.key TrunOn(); // Car 객체의 메소드 호출 리턴값이 없음
타입 변수 = 참조변수.메소드(매개값);
int speed = myCar.getSpeed(); // Car 객체의 메소드 호출, 리턴값이 있고 변수 speed에 저장
public class Car {
// 필드
int speed;
// 메소드
int getSpdde() {
return speed;
}
void keyTrunOn() {
System.out.println("키를 돌린다.");
}
void run() {
for (int i = 0; i <= 10; i++) {
speed = i;
System.out.println("달립니다. (시속: " + speed + "km/ㅗ)");
}
}
}
//
public class CarEx {
public static void main(Sting[] args) {
Car myCar = new Car();
myCar.keyTurnOn();
myCar.run();
int speed = myCar.getSpeed();
System.out.println("현재 속도" + speed + "km/h");
}
}