수학에서의 함수 개념이라고 생각하면 된다.
f(x) = x + 1 //함수 f(2) = 3 f(4) = 5 //x를 입력 받아서 계속 재사용
📝 형식
public static void 메소드명(){
.. 실행할 문자 ..
}
🖥️ 예시
public static void hello(){
System.out.println("안녕하세요");
}
📝 형식
public static void main(String[] args) { //메인메서드
메서드이름();
}
🖥️ 예시
public class Practice {
public static void main(String[] args) {
hello();
}
public static void hello(){
System.out.println("안녕하세요");
}
}
결과
안녕하세요
- 메인 메서드도 메서드
- 단, 자바에서는 프로그램 실행의 시작점이므로 필수로 있어야 함
- 다른 이름으로 사용할 수 없음
🖥️ 예시
public static void main(String[] args) {
System.out.println(f2(100)); //102
}
public static int f1(int x) {
return x + 1;
}
public static int f2 (int x) { //x = 100
// 메서드 안에서 다른 메서드 호출
return f1(x) + 1;
}
/*
* f2(100) = f1(100) + 1
* f2(100) = 101 + 1
* System.out.println(f2(100)); = 102
*/
📝 형식
public static void 메서드이름(변수형 변수이름){
...
}
🖥️ 예시
public static void name(String name){
System.out.println(name);
}
📝 형식
public static void 매서드 이름(변수형 변수이름, 변수형 변수이름...){
...
}
🖥️ 예시
public static void human(String name, int age){
System.out.println(name);
System.out.println(age);
}
📝 형식
public static void main(String[] args) {
메서드이름(값1, 값2); //메서드이름(변수형에 맞는 파라미터 값);
}
public static void 매서드 이름(변수형 변수이름, 변수형 변수이름){
...
}
🖥️ 예시
public static void main(String[] args) {
human("홍길동", 20);
}
public static void human(String name, int age){
System.out.println(name);
System.out.println(age);
}
결과값
홍길동
20
메서드 안에서 어떤 값을 반환할 경우 사용
return total; return score; return name;
-> return
키워드 사용
단, 메소드 정의시 반환타입과 반환값의 타입이 일치해야 함
메소드 정의시 void
로 정의하면 반환값이 없다는 의미
📝 형식
public static 리턴타입 메소드명(매개변수) {
실행할 문자;
return 리턴값;
🖥️ 예시
package method;
public class Main01 {
public static void main(String[] args) {
int a = plus(10, 5); // 메서드의 리턴값을 변수에 저장
System.out.println(a);
System.out.println(f1(30));
}
public static int plus(int x, int y) {
return x + y;
}
//int형인 x와 y를 더한 값을 리턴할 것이므로 리턴타입은 int
public static int f1(int x) {
int y = x + 1;
return y;
}
}
결과값
15
31 // x에 대한 값으로 30을 입력받고 연산 결과를 y에 저장
// y를 리턴했으니 출력 결과는 31
메서드를 사용하는 가장 큰 이유
- 반복적으로 사용하는 코드들을 한곳에 모아 코드를 재사용하기 위해
- 불필요한 중복 코드를 메서드로 정의하여 코드의 가독성을 높여주기 위해