본문 바로가기
JAVA

가변인자

by 집돌이디벨로퍼 2023. 9. 22.

메서드의 매개변수 개수가 고정이었으나 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' 카테고리의 다른 글

2023.09.23  (0) 2023.09.07