리턴타입 메소드이름 (매개변수 선언) {
메소드 실행 블럭
}
예시
public class Calculator{
double divide(int x, int y) {
// 리턴타입 메소드명(매개변수 선언)
double result = (double) x/ (double) y;
return result;
}
}
void powerOn(){}
double divide(int x, int y){}
리턴값이 있느냐 없느냐에 따라 호출 방법 다름
powerOn();
double result = divide(2,3);
외부 클래스의 메소드를 호출하기 위해서는 클래스 객체를 생성하고 해당 객체의 참조변수 사용해서 호출해야 함
Calculator myCal = new Calculator(); // 클래스 객체 생성
myCal.powerOn(); // 참조변수 myCal로 메소드에 접근
매개변수의 개수 모를 경우
매개변수의 선언을 배열 타입으로 진행
int sum1(int[] values){ }
int[] values = {1, 2, 3};
int result = sum1(values);
int result = sum1(new int[] {1, 2, 3, 4, 5});
리턴값이 있는 메소드
메소드 선언에 리턴 타입이 있는 메소드는 반드시 리턴문을 사용해서 리턴값 지정해야
리턴문 없으면 컴파일 에러
리턴문 실행 시 바로 메소드 종료됨
리턴값이 없는 메소드 : void
void로 선언된 메소드에서도 return문 사용 가능
but 리턴값을 지정하는 게 아니라 메소드를 강제 종료시키는 역할을 함
return;
객체 내부에서 호출
메소드(매개값, ...);
단순하게 메소드명과 매개변수의 타입과 수에 맞게 형성
객체 외부에서 호출
외부 클래스에서 메소드 호출 시
1. 참조변수와 함께 클래스 객체 생성
2. 참조변수를 통해 메소드에 접근
참조변수.메소드(매개값);
Car myCar = new Car();
myCar.keyTurnOn();
클래스 내에 같은 이름의 메소드를 여러 개 선언하는 것
많이 싣는 것 = 하나의 메소드 이름으로 여러 매개변수를 담아 사용
메소드 호출 시 JVM은 매개값의 타입을 보고 메소드를 선택함
조건 : 매개변수의 타입, 개수, 순서 중 하나가 달라야 함
public class Calculator {
double plus(double x, double y){
double result = x + y;
return result;
}
int plus(int x, int y){
int result = x + y;
return result;
}
}