MultiArgs 가변인자
- Java에서 메서드에 다양한 개수의 인수를 전달 가능
- 메서드 정의에서 타입... 변수명 형식으로 가변인자 선언
- 가변인자를 사용하면 메서드 호출 시 다양한 개수의 인수 전달이 가능
- 메서드 내부에서 이러한 인수를 배열로 처리가 가능 !
public class MultiArgsTest {
public static void main(String[] args) {
/*MultiArgsTest mt = new MultiArgsTest();
String str = mt.concatenate("", "", "", "");*/
String str = concatenate("a", "b", "c");
System.out.println(str);
String strArr[] = {"마리오", "루이지", "키노피코","톱텐"};
System.out.println(concatenate(strArr));
System.out.println(con2("-", "마리오", "루이지", "키노피코"));
System.out.println(con2("/", new String[] {"1", "2", "3"}));
System.out.println(con2(" ", strArr));
// 합계 : 숫자가 몇개가 들어올지 모름
// 메서드 호출하여 합계 출력
int sumArr[] = {1, 2, 3, 4, 5, 6, 7};
System.out.println(sum(sumArr));
}
/*String concatenate(String i, String a, String b, String c ) {
String result = "";
result = i + a + b + c;
return result;
}*/
// 합계를 구하는 메서드 구현
static int sum(int...a) { // 가변 인자 -> 여러 정수를 인수로 전달 할 수 있음 ! 이 메서드를 사용하면 메서드 호출 시 전달되는 정수의 개수에 상관없이 원하는 값을 구할 수 있음
int result = 0;
for(int num : a) {
result += num;
}
return result;
}
static String concatenate(String...a) { // 배열로 받기 //하나 이상 받는다 -> 하나는 명시적으로 써주고, 나머지는 들어올지 안 들어올지 모른다.
String result = "";
for(String str : a) {
result += str + ", ";
}
return result;
}
static String con2(String delim, String...b) {
String result = "";
for(String str : b) {
result += str + delim;
}
return result;
}
}
출력결과
'Java' 카테고리의 다른 글
Java문법) 예외처리 -1 (0) | 2023.10.31 |
---|---|
Java문법) final 키워드 (0) | 2023.10.30 |
Java문법) 메서드 오버로딩 (0) | 2023.10.26 |
Java문법) 생성자 (0) | 2023.10.25 |
Java문법) 메서드 생성 및 호출 (0) | 2023.10.25 |