Notice
Recent Posts
Recent Comments
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
관리 메뉴

충분히 쌓여가는

6.7 생성자 선언과 호출 - 가변길이 매개변수 본문

이것이 자바다/06 클래스

6.7 생성자 선언과 호출 - 가변길이 매개변수

빌드이너프 2024. 4. 1. 21:00

메소드를 호출할 때는 매개변수의 개수에 맞게 매개값을 제공해야 한다

만약 메소드가 가변길이 매개변수를 가지고 있다면 매개변수의 개수와 상관없이 매개값을 줄 수 있다

 

가변길이 매개변수 선언

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