[JAVA] 가변인자(varargs)와 오버로딩


[JAVA] 가변인자(varargs)와 오버로딩

기존에는 메서드의 매개변수 개수가 고정적이었으나 JDK1.5부터 동적으로 지정해 줄 수 있게 되었으며, 이 기능을 '가변인자(variable arguments)' 라고 한다. 가변인자는 '타입... 변수명' 과 같은 형식으로 선언하며, PrintStream 클래스의 printf()가 대표적인 예이다. public PrintStream printf(String format, Object... args){...} 위와 같이 가변인자 외에도 매개변수가 더 있다면, 가변인자를 매개변수 중에서 제일 마지막에 선언해야한다. (컴파일 에러 발생) 가변인자인지 아닌지 구별할 방법이 없기 때문에 허용하지 않는다. 가변인자는 내부적으로 배열을 이용한다 따라서 가변인자가 선언된 메서드를 호출할 때마다 배열이 새로 생성된다...


원문링크 : [JAVA] 가변인자(varargs)와 오버로딩