가변인수
메서드에 넘기는 인수의 개수를 클라이언트에게 넘김
가변인수 메서드 호출 시, 가변인수를 담기 위한 배열이 자동으로 하나 만들어짐
매개변수화 타입, 제네릭이 들어가면 컴파일 경고가 나온다. - 실체화 불가 타입은 런타임에 타입 정보를 적게 담는데, 가변인수 메서드와 함께 사용 시, 다른 타입의 객체를 참조하여 힙 오염이 발생할 수 있음
그럼에도 매개변수화 타입이나 제네릭과 함께 사용하면 강력한 기능을 할 수 있기에 경고만 제공함
그럼 어떻게?
varargs 매개변수 배열에 아무것도 저장하지 마라.
그 배열을 신뢰할 수 없는 코드에 노출하지 마라.
이후 타입 안전성을 보장하고 @SafeVarages 를 달라.