반응형
자바 1.5에서 가변 인자 메소드라고 부르는 것이 추가되었습니다
가변 인자란 쉽게 생각하면 인자(파라미터) 값이 변한다는 의미입니다
//일반 적인 파라메터의 모양
public class Varargs {
public void test1(String str1 , String str2){
(생략)
}
}
이런 식으로 하나하나 타입을 지정해 주고 호출할 때 값을 넣어 줘야 했습니다
이 test 1 메소드에 가변 인자를 이용해서 수정한다면
public class Varargs{
public void test1(String ...){
(생략)
}
}
이런 식으로 가변 인자를 이용해서 수정을 할 수 있습니다
하지만 성능이 중요하다면 가변 인자(varargs)를 사용하실 때에 신중하게 사용하셔야 합니다
이유는 test 1() 메소드가 실행이 될 때마다 내부에서 매개변수에 맞게 배열을 생성하고 초기 화 되기 때문에 오버헤드를 감당할 수 없다면 다른 방법을 이용해야 합니다
가변 인자를 오버 로딩을 많이 대체할 수 있습니다
정말 가벼운 건 바로 아래 코드처럼 사용하셔도 좋지만 많아지면 많아질수록 성능이 저하되므로 그아래의 방법을 사용하시는 것이 더 좋습니다
//바로 varargs를 이용하지 마시고
public void test1(String ...)
//x
//1~3 까지는 작성을 한후에 사용하시면 더 좋습니다
public void test1(String str1)
public void test1(String str1,String str2)
public void test1(String str1,String str2,String str3)
public void test1(String str1, String str2, String str3, String ...rest)
//O
다만
public void test1(String ...,int ....) //한개의 메소드에 두개의 가변인자는 삽입할 수 없습니다
public void test2(String ...,String ...) // 위와 같은 이유로 사용하시면 안됩니다
부족한 부분을 댓글이나 쪽지로 알려주시면 많은 도움이 됩니다
반응형
'java(자바)' 카테고리의 다른 글
java 인터페이스(interface) 사용 방법 (0) | 2022.01.18 |
---|---|
charAt() 메소드에 대해서 (2) | 2022.01.17 |