충분히 쌓여가는
6.7 생성자 선언과 호출 - 가변길이 매개변수 본문
메소드를 호출할 때는 매개변수의 개수에 맞게 매개값을 제공해야 한다
만약 메소드가 가변길이 매개변수를 가지고 있다면 매개변수의 개수와 상관없이 매개값을 줄 수 있다
가변길이 매개변수 선언
int sum(int ... values) {
}
가변 길이 매개변수는 메소드 호출 시 매개값을 쉼표로 구분해서 개수와 상관없이 제공할 수 있다
int result = sum(1, 2, 3);
int result = sum(1, 2, 3, 4, 5);
매개값들은 자동으로 배열 항목으로 변환되어 메소드에서 사용된다
그렇기 때문에 메소드 호출 시 직접 배열을 매개값으로 제공해도 된다
int result = sum(new int[] {1, 2, 3});
예제
package ch06.sec08.exam02;
public class Computer {
int sum(int ... values) {
int sum = 0;
for(int i=0; i<values.length; i++) {
sum += values[i];
}
return sum;
}
}
package ch06.sec08.exam02;
public class ComputerExample {
public static void main(String[] args) {
Computer myCom = new Computer();
int result1 = myCom.sum(1, 2, 3);
System.out.println(result1);
int result2 = myCom.sum(1, 2, 3, 4, 5);
System.out.println(result2);
int[] values = {1, 2, 3, 4, 5};
int result3 = myCom.sum(values);
System.out.println(result3);
int result4 = myCom.sum(new int[] {1, 2, 3});
System.out.println(result4);
}
}
6
15
15
6
'이것이 자바다 > 06 클래스' 카테고리의 다른 글
6.9 인스턴스 멤버 - 정적 멤버 (0) | 2024.04.01 |
---|---|
6.9 인스턴스 멤버 - this (0) | 2024.04.01 |
6.7 생성자 선언과 호출 - 다른 생성자 호출 this() (0) | 2024.04.01 |
6.7 생성자 선언과 호출 - 생성자 오버로딩 (0) | 2024.04.01 |
6.7 생성자 선언과 호출 - 생성자 (0) | 2024.04.01 |