: 메서드의 매개변수의 갯수가 실행될때 마다 다를때 사용한다.
: 가변형 인수는 메서드 안에서 배열로 처리된다.
: 가변형 인수는 한가지 자료형만 사용할 수 있다.
public class T01_ArgsTest {//아규먼트
//배열을 이용한 메서드
//매개변수로 받은 정수들의 합계를 구하는 메서드
//(이 정수들의 개수는 상황에 따라 다르다)
public int sumArr(int[] data) { //배열을 이용한 메서드
int sum=0;
for(int i=0; i<data.length; i++) { //data 길이만큼 i 반복
sum+=data[i]; //0으로 초기한 sum에 data[i]를 더한다
}
return sum;// for문이 끝난 다음 sum을 반환
}
//가변형인수를 이용한 메서드
public int sumArg(int...data) {
// 가변형 인수 'int...data'는 메서드 안에서 배열로 처리
int sum =0;
for(int i=0; i<data.length; i++) {
sum+=data[i];
}
return sum;
}
//가변형 인수와 일반적인 인수(String name)를 같이 사용할 경우에는
//가변형 인수(int...data)를 제일 뒤쪽에 배치해야 한다.
public String sumArg2(String name, int...data) {
int sum =0;
for(int i=0; i<data.length; i++) {
sum+=data[i];
}
return name+ "씨 점수 :" +sum;
}
public static void main(String[] args) {
T01_ArgsTest at = new T01_ArgsTest();
// int[] nums = new int[] {100,200,300};
int[] nums = {100,200,300};
System.out.println(at.sumArr(nums));
System.out.println(at.sumArr(new int[] {1,2,3,4,5}));
System.out.println();
System.out.println(at.sumArg(100, 200,300));//600
System.out.println(at.sumArg(1,2,3,4,5)); //15
System.out.println();
System.out.println(at.sumArg2("홍길동",1,2,3,4,5,6,7,8));
//홍길동씨 점수 : 36
}
}