가변인자(varargs)는 Java 프로그래밍 언어에서 메서드에 전달할 수 있는 인수의 수가 가변적인 기능을 제공합니다. 이것은 Java 5부터 도입된 기능으로, 메서드가 정확히 몇 개의 매개변수를 받을지 미리 알 수 없는 경우 유용합니다.
가변인자는 배열로 처리됩니다. 메서드가 호출될 때 전달된 인수들은 배열로 묶여 해당 메서드에 전달됩니다. 이를 통해 메서드는 배열로 전달된 인수를 반복하여 처리할 수 있습니다.
가변인자를 사용하는 방법
- 매개변수 선언 시 `타입... 변수명` 형식을 사용합니다.
- 가변인자는 메서드의 매개변수 목록에서 항상 마지막에 위치해야 합니다.
- 가변인자는 하나만 정의할 수 있습니다.
public void printValues(String... values) {
for (String value : values) {
System.out.println(value);
}
}
위의 메서드는 문자열을 가변인자로 받아들이고, 받은 문자열들을 모두 출력합니다.
사용 예시
printValues("Java", "Python", "C++");
printValues("Hello", "World");
이러한 호출은 메서드에 각각 3개와 2개의 문자열을 전달합니다.
주의사항
- 가변인자를 사용할 때에는 해당 매개변수가 필수가 아니라 선택적임을 유의해야 합니다. 따라서 메서드 정의 내에서 이에 대한 처리를 해주어야 합니다.
- 가변인자를 사용하는 메서드에 대해 인자를 전달할 때 배열을 직접 생성해서 전달할 수도 있지만, 가변인자를 사용하는 것이 훨씬 간편하고 직관적입니다.
가변인자를 사용하면 메서드를 보다 유연하게 작성할 수 있으며, 호출 시 전달되는 인자의 수가 가변적일 때 편리하게 사용할 수 있습니다.
'JAVA > 기초' 카테고리의 다른 글
[Java] 추상(abstract) 클래스와 인터페이스(Interface) (0) | 2024.02.27 |
---|---|
[Java] Class 란? (0) | 2024.02.27 |
[JAVA] BigDecimal 클래스 (0) | 2024.02.20 |
[JAVA] Date 클래스 (0) | 2024.02.19 |
[JAVA] Wrapper 클래스의 auto boxing (1) | 2024.02.19 |