본문 바로가기
✨ Java/etc

자바(JAVA) - 가변인자 (variable arguments) 란 무엇인가?

by 환풍 2023. 7. 7.
728x90
반응형

가변인자란?

... 이 삽입된 메소드의 매개변수 선언을 '가변 인자 선언' 이라고 한다.
 

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class Te {
 
    public void vararg(int ...x) {
        
        forint i : x) {
            System.out.print(i);
        }
    }
    
    public static void main(String[] args) {
        Te o = new Te();        
        o.vararg(1,2,3,4,5,6);
    }
}
cs

위 코드를 보면, Te 클래스 안에 vararg 메소드가 만들어져있고, 매개변수로 ... x 와 같은 방식이 있다.

이를 가변인자라고 부른다. 원래라면 main 메소드에 vararg에 변수 1,2,3,4,5,6을 던져준 것처럼

vararg에는 int x, int y, int z, int k, int j, int o....  등 이렇게 매개변수를 6개 정의해줘야한다. 

이처럼 가변인자를 선언해서 사용하게 되면 전달되는 인자의 수에 제한을 두지 않고 동적으로 사용가능하다.

 

가변인자를 왜써?

가변인자(...)은 호출 코드의 가독성과 사용편의성을 높일 수 있다.

 

단,

- 가변인자를 사용할 때 다른 매개 변수가 존재한다면, 가변 인자를 위한 매개 변수는 가장 마지막에 사용해야한다.

- 가변인자가 사용된 메소드는 오버 로딩시 애매한 부분이 있어 가변 인자를 사용한 메소드는 오버로딩을 하지 말자.

728x90
반응형

댓글