-
[Java] 가변인자 (varargs)개발 지식/Java 2023. 11. 15. 14:00
가변인자란?
- jdk 1.5부터 지원하는 기능으로 매개변수의 개수를 동적으로 지정해 줄 수 있게 하는 기능을 의미한다.
- 가변인자는 타입... 변수명 과 같은 형식으로 선언한다.
가변인자의 특징
- 가변인자는 매개변수 중에서 가장 마지막에 선언해야 한다. (마지막이 아닌 경우 구별할 수 없기 때문)
- 인자가 아예 없는 경우와 배열을 인자로 받는 경우도 가능하다.
- 내부적으로 배열을 이용하기 때문에 선언된 메서드를 호출할 때마다 배열이 새로 생성된다.
- 오버로딩시 애매한 상황이 발생할 수 있기 때문에 가급적 오버로딩하지 않는 것이 좋다.
public class Main { public static void main(String[] args) { System.out.println(concatenate("", "100", "200", "300")); // 에러 발생 } public static String concatenate(String... args) { return concatenate("", args); } public static String concatenate(String delim, String... args) { String result = ""; for(String str : args) { result += (str + delim); } return result; } }
참고 자료
https://velog.io/@minseojo/Java-%EA%B0%80%EB%B3%80%EC%9D%B8%EC%9E%90-varargs
[Java] 가변인자 (varargs)
기존에는 메서드의 매개변수 개수가 고정적이었나 JDK1.5부터 동적으로 지정해 줄 수 있게 되었으며, 이 기능을 가변인자 (variable arguments)라고 한다.
velog.io
'개발 지식 > Java' 카테고리의 다른 글
[Java] 정규표현식 캡처 그룹과 비캡처 그룹 (1) 2024.01.07 [Java] 추상 클래스의 생성자 (0) 2023.12.03 [Java] 배열과 List 사이의 변환 (0) 2023.11.15 [Java] Arrays.asList()와 List.of()의 차이 (1) 2023.11.15 [Java] 정규표현식(Regular Expression, regex) (0) 2023.07.27