Varargs : 가변 인자
2022. 1. 21. 01:07ㆍCSE/JAVA
공식 문서 : https://docs.oracle.com/javase/8/docs/technotes/guides/language/varargs.html
스프링 강의를 듣다가 Object... objects 이런 부분이 나와서 Varargs에 대해 알아보았다.
다음은 공식 문서를 간단히 해석해놓은 부분이다.
Varargs가 사용되기 전에는, 메소드에 임의적인 개수의 파라미터를 넣기 위해서는 다음과 같이 배열을 사용해야 했다.
Object[] arguments = {
new Integer(7),
new Date(),
"a disturbance in the Force"
};
String result = MessageFormat.format(
"At {1,time} on {1,date}, there was {2} on planet "
+ "{0,number,integer}.", arguments);
Varargs도 실제로는 여러개의 arguments들을 배열로 넘겨주는 것이 맞지만, 이를 알아서 자동적으로 처리해준다.
또한, 이미 존재하고 있는 API들에도 적용되어있다.
즉, 위에서 사용한 MessageFormat.format()함수는 현재 다음과 같다.
public static String format(String pattern, Object... arguments);
따라서, 위의 코드를 다음과 같이 간단하게 사용할 수 있게 되었다.
String result = MessageFormat.format(
"At {1,time} on {1,date}, there was {2} on planet "
+ "{0,number,integer}.",
7, new Date(), "a disturbance in the Force");
'CSE > JAVA' 카테고리의 다른 글
[자바 객체 지향] 객체 지향의 4대 특성과 클래스&객체 (0) | 2022.03.24 |
---|---|
[Java] 데이터 타입, String 특징 (0) | 2022.03.23 |
[자바 객체 지향] 스프링이 사랑한 디자인 패턴 2 (0) | 2021.09.06 |
자바 JDBC (0) | 2021.08.16 |
[자바 객체 지향] 스프링이 사랑한 디자인 패턴 1 (0) | 2021.08.16 |