메서드의 매개변수 개수가 고정이었으나 JDK1.5부터 동적으로 지정해 줄수 있게 되었으며, 이 기능을 가변인자(variable agruments)라고 한다.
하나의 함수에서 매개변수의 갯수를 따로 지정하지 않고 제한없이 받을 수 있다.
형식
static 변수타입 (메소드 이름) (구분자, 가변인자)
ex)
static String ExMethod(String abc, String...args)
static int ExNumber(int abc,Int...IntArgs)
가변인자의 특징
- 가변인자는 항상 마지막 위치에 매개변수 이어야한다.
- 가변인자는 인자가 없어도 된다.
- 가변인자는 배열이다.
public class Ed01_VariableArgments {
public static void main(String[] args) {
String[] strArray = {"100","200","500"};
System.out.println(concatenate("-","100","200","300"));
System.out.println(concatenate("-",strArray));
//가변인자는 생략
System.out.println("["+concatenate(",")+"]");
//구분자, 가변인자 : -, 100,200,300 -> 100-200-300
/**
* 구분자와 가변인자를 결합
* @param delim : 구분자
* @param args : 가변인자
* @return String
*/
System.out.print("가변인자는 생략가능");
}
//구분자, 가변인자: -. 100, 200, 300 -> 100 - 200 -300
static String concatenate(String delim, String...args) {
String result = "";
System.out.println(args.length); //arg.length = 3
//가변인자는 배열
for(String str : args) {
result += str + delim ;
}
return result ;
}
}
//static 변수타입 (메소드 이름) (구분자, 가변인자)
// 형식정리
static int...IntArgs
String...Args
//일단 내가 아는 확실한 형식은 이거 밖에 없다
매개변수를 따로 갯수없이 지정할 수 있어서 코드를 편리하게 짤 수 있다
비전공자이기에 대학에서 사용하는 전공책을 보고 공부하는데
학원에서 수업도중 전공책에서 접하지 못한 내용이 나와있어서 정리해본다.
처음 보는 내용이기에 현직 개발자인 친구들 3명한테 물어봤는데..
한명만 사용한다고 한다
보기에 뭔가 유용할 것 같으니 일단은 정리해서 킵해둬보자
'JAVA' 카테고리의 다른 글
자바빈 규약 (1) | 2024.12.09 |
---|---|
[JAVA] 조건문 (2) | 2024.09.11 |
[JAVA 기초] 연산자 편 2024-09-09 (0) | 2024.09.10 |
[JAVA] 자바란? (1) | 2024.09.06 |
2023.09.23 (0) | 2023.09.07 |