자바에서는 함수를 메서드(Method)라 한다.
메서드를 사용하는 이유는 무엇일까? 바로 코드의 중복을 제거해 준다는 것이다.
코드를 통해서 살펴 보도록 하자.
간단하게 변수 두개를 더해서 출력해주는 기능을 개발해보자.
package method;
public class Method1 {
public static void main(String[] args) {
//계산1
int a = 50;
int b = 50;
System.out.println(a + "+" + b + " 연산 수행");
int sum1 = a + b;
System.out.println("결과1 출력:" + sum1);
//계산2
int x = 10; // 중복
int y = 20; // 중복
System.out.println(x + "+" + y + " 연산 수행"); // 중복
int sum2 = x + y; // 중복
System.out.println("결과2 출력:" + sum2); // 중복
}
}
위 코드의 문제점은 과연 무엇일까? 만약 프로그램에서 이와 같은 계산을 반복해야 한다면 어떨 것인가? 위 코드처럼 코드의 중복이 많아 질 것이다. 이런 문제들을 해결해 준 것이 바로 메서드(Method)이다.
그럼 메서드(Method)를 사용해서 코드를 작성해 보도록 하자.
package method;
public class Method1Ref {
public static void main(String[] args) {
//계산1
int sum = add(5,10);
System.out.println("결과1 출력:" + sum);
//계산2
int sum2 = add(10,100);
System.out.println("결과2 출력:" + sum2);
}
//add 메서드
public static int add(int a, int b) {
System.out.println(a + "+" + b + " 연산 수행");
int sum = a+b;
return sum;
}
}
public static int add(int a, int b)
add 는 메서드의 선언 부분으로 메서드의 이름과 반환 타입, 매개변수를 포함한다.
메서드의 이름은 add로 자신이 기능을 수행할 때 이름을 정해주면 된다.
int 반환 타입은 Return Type으로 메서드의 실행 결과를 반활 할때 타입을 정해주는 것이다.
매개변수는 (int a, int b)로 메서드를 호출할 때 전달되는 입력값을 말한다.
앞에서 정의한 메서드를 실행하려면 이름에 입력값을 전달하면 된다.
int sum = add(5,10);
파라미터 변수 a에는 5가 전달되고 b에는 10이 전달되면서 메서드가 실행되고,
return을 사용해서 메서드의 실행 결과인 sum을 반환함으로써 15가 출력되는 것이다.
참고로 return 타입이 없을 때에는 void를 사용해야 한다.