가변길이 인자

devlsn96·2024년 10월 30일
0

java 언어 개념정리

목록 보기
27/27

Java에서의 가변길이 인자

배경

enum 클래스와 마찬가지로, 버전 업데이트가 되면서 사용되는 개념으로, 자바에서는 파라미터의 갯수가 다르면 다른 메서드로 인식하기 때문에 동일한 기능을 하지만 파라미터가 가변적으로 변경되는 경우, 오버로딩(Overloading)한다.

가변인자의 사용

오버로딩은 파라미터 개수에 맞춰 메서드가 계속 늘어나는 구조인데, 가변인자를 사용하면 동적으로 파라미터(parameter)를 받을 수 있다.

  • 사용법은 변수 타입 뒤에 기호 ... 붙여주면 된다.
  • 메서드 호출 역시 일반 메서드 호출하듯이 호출해주면 된다.
// 매개변수 없이 호출
test();			// 출력 X
// 매개변수 담아 호출
test("A", "B");  // A B 출력
// 배열객체에 담아 호출
test(new String[] {"A", "B", "C"});		// A B C 출력
  • 매개변수를 동적으로 담아 메서드를 생성할 수 있다.
public static void test(String... param) {
		// 배열로 파라미터 값을 할당
        String[] array = param;	
		// 배열객체를 반복해서 출력
		for (String str : param) {
			System.out.println(str);
		}
}
  • 오버로딩으로 다른 인자를 담은 메서드를 생성 가능하고, 이렇게 가변인자와 함께 사용하는 경우는 가변인자를 가장 뒤에 위치시킨다.
public static void test(int num, String... param) {		
		String[] array = param;	
		for (String str : param) {
			System.out.println(str);
		}
}
profile
Quantum Jump to class for java….

0개의 댓글