[Java] Object... args :: 메소드 가변인자

동민·2022년 5월 4일
0
@Test
void test() {
	List<?> list1 = getList(1, 2, 3);
	List<?> list2 = getList(1, 2, 3, 4, 5);

	list1.forEach(System.out::println);
  	list2.forEach(System.out::println);
}

private List<?> getList(int... args) { // 가변인자. args는 int[] 배열로 들어온다.
	return Arrays.asList(args);
}

메소드 가변인자는 배열 Object[] 형태로 들어오며 유연성을 제공하지만,
사용할 때는 신중하게 반드시 필요할 때만 사용해야한다.

private Object get(Object o1) {
	...
}
    
private Object get(Object o1, Object o2) {
	...
}
   
private Object get(Object o1, Object o2, Object o3) {
	...
}

위와 같이 OverRoading 된 메소드를 계속 늘려야하는 경우, 가변인자는 유용하게 쓰일 수 있다.

private Object get(Object... args) {
	...
}
profile
BE Developer

0개의 댓글