
1. 메서드
1-1. main 메서드
1-2. 메서드
프로그램의 함수 = 메서드
특정 기능(=연산)을 그룹화해서 재사용하기 위한 단위
public satic void 메서드이름(){
....
}
1-3. 메서드의 호출
정의된 메서드는 다른 메서드를 구성하는{...} 안에서 다음의 형식으로 사용될 수 있으며, 이를 메서드를 호출한다고 한다.
메서드이름();
1-4. 매서드 파라미터
java 프로그램의 메서드(=함수)는 자신이 실행되는데 필요한 조건값을 메서드 이름 뒤의 괄호 안에서 변수 형태로 선언한다. 이를 메서드 파라미터(=매개변수)라고 한다.
public static void 메서드이름(변수형 변수이름){
....
}
public static void main(String[] args) {
plus();
minus();
plus();
minus();
}
public static void plus() {
int num = 10;
int num2 = 20;
System.out.println(num + num2);
}
public static void minus() {
int num = 50;
int num2 = 10;
System.out.println(num-num2); ;
}
1-5. 다중 파라미터
메서드가 연산을 수행하는데 두 개 이상의 파라미터가 필요하다면 콤마(,)로 구분하여 선언할 수 있다.
public static void 메서드이름(변수형 변수이름, 변수형 변수이름, 변수형 변수이름){
....
}
public static void main(String[] args) {
//두 파라미터의 합을 출력하는 메서드를 생성 및 호출
/*
* plus(10, 20); -> 30
plus(10, 20);
minus(10, 20);
//두 파라미터의 차를 출력하는 메서드를 생성 및 호출
/*
* minus(10, 20); -> -10
*/
}
public static void plus(int num1, int num2) {
System.out.println(num1+num2);
}
public static void minus(int num3, int num4) {
System.out.println(num3-num4);
}
1-6. 파라미터를 갖고 있는 메서드의 호출
메서드를 정의하면서 파라미터가 명시되어 있다면 해당 메서드를 호출하면서 파라미터를 전달해 주어야 한다.
public static void 메서드이름(변수형 변수이름){...};
public static void 메서드이름(int num){...};
->
메서드이름(값1);
메서드이름(10);
public static void 메서드이름(int num, boolean user){...};
->
메서드이름(값1, 값2);
메서드이름(65, true);
1-7. 값을 반환하는 메서드
메서드의 리턴값
메서드가 연산 결과를 자신이 호출된 위치에 반환하는 것을 "리턴"이라고 하며, 반환하는 값을 "리턴값"이라고 한다.
메서드 안에서 값을 리턴하기 위해서는 "return"이라는 키워드가 사용된다.
값을 리턴하는 메서드는 선언시에 "void"키워드 대신, 리턴하는 값에 대한 변수형이 명시된다. void는 리턴값이 없다는 의미가 된다.
public static 리턴형 메서드이름(변수형 파라미터1,...){
...
return 리턴값;
}
public static void main(String[] args) {
System.out.println(plus(10,20));
int a = plus (20, 30);
System.out.println(a);
System.out.println("===================");
int b = plus(plus(10, 20), 30);
System.out.println(b);
}
public static int plus(int num1, int num2) {
int result = num1 + num2;
return result;
}
1-8. 메서드간의 상호 호출
java의 메서드 역시 서로 호출이 가능하다. 호출된 메서드가 값을 리턴하는 경우, 리턴 받은 값을 다른 연산에 사용할 수 있다.
public static 리턴형 메서드1(변수형 파라미터1){
...
return 리턴값;
}
public static 리턴형 메서드2(변수형 파라미터1){
int k = 메서드1(값1);
return k;
}
public static void main(String[] args) {
System.out.println(f2(100));
}
public static int f1(int x) {
return x + 1;
}
public static int f2(int x) {
return f1(x)+1;
}
102가 도출된다.
}