자바 메소드 매개변수
매개변수 및 인수
정보는 매개변수로 메소드에 전달할 수 있습니다. 매개변수는 메서드 내에서 변수 역할을 합니다.
매개변수는 메서드 이름 뒤에 괄호 안에 지정됩니다. 원하는 만큼 매개변수를 추가할 수 있으며 쉼표로 구분하면 됩니다.
다음 예제에는 String
호출 된 fname 을 매개변수로 사용하는 메소드가 있습니다. 메서드가 호출되면 이름을 전달합니다. 이름은 메서드 내부에서 전체 이름을 인쇄하는 데 사용됩니다.
예시
public class Main {
static void myMethod(String fname) {
System.out.println(fname + " Refsnes");
}
public static void main(String[] args) {
myMethod("Liam");
myMethod("Jenny");
myMethod("Anja");
}
}
// Liam Refsnes
// Jenny Refsnes
// Anja Refsnes
매개변수 가 메소드에 전달되면 이를 인수 라고 합니다 . 따라서 위의 예에서 fname
is a parameter , while Liam
, are arguments 입니다.Jenny
Anja
여러 매개변수
원하는 만큼 매개변수를 가질 수 있습니다.
예시
public class Main {
static void myMethod(String fname, int age) {
System.out.println(fname + " is " + age);
}
public static void main(String[] args) {
myMethod("Liam", 5);
myMethod("Jenny", 8);
myMethod("Anja", 31);
}
}
// Liam is 5
// Jenny is 8
// Anja is 31
여러 매개변수로 작업할 때 메소드 호출은 매개변수와 동일한 수의 인수를 가져야 하며 인수는 동일한 순서로 전달되어야 합니다.
반환 값
위의 예에서 사용 된 void
키워드는 메서드가 값을 반환하지 않아야 함을 나타냅니다. 메서드가 값을 반환하도록 하려면 , 대신 기본 데이터 유형(예: int
,
char
등)을 사용
하고 메서드 내에서 키워드 void
를 사용할 수 있습니다 .return
예시
public class Main {
static int myMethod(int x) {
return 5 + x;
}
public static void main(String[] args) {
System.out.println(myMethod(3));
}
}
// Outputs 8 (5 + 3)
이 예에서는 메서드의 두 매개변수 의 합계를 반환합니다 .
예시
public class Main {
static int myMethod(int x, int y) {
return x + y;
}
public static void main(String[] args) {
System.out.println(myMethod(5, 3));
}
}
// Outputs 8 (5 + 3)
결과를 변수에 저장할 수도 있습니다(읽기 및 유지 관리가 더 쉽기 때문에 권장됨):
예시
public class Main {
static int myMethod(int x, int y) {
return x + y;
}
public static void main(String[] args) {
int z = myMethod(5, 3);
System.out.println(z);
}
}
// Outputs 8 (5 + 3)
If...Else가 있는 메서드
if...else
메서드 내에서 문 을 사용하는 것이 일반적입니다 .
예시
public class Main {
// Create a checkAge() method with an integer variable called age
static void checkAge(int age) {
// If age is less than 18, print "access denied"
if (age < 18) {
System.out.println("Access denied - You are not old enough!");
// If age is greater than, or equal to, 18, print "access granted"
} else {
System.out.println("Access granted - You are old enough!");
}
}
public static void main(String[] args) {
checkAge(20); // Call the checkAge method and pass along an age of 20
}
}
// Outputs "Access granted - You are old enough!"