728x90
반응형
가변인자란?
... 이 삽입된 메소드의 매개변수 선언을 '가변 인자 선언' 이라고 한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | public class Te { public void vararg(int ...x) { for( int 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
반응형
'✨ Java > etc' 카테고리의 다른 글
자바(JAVA) - IS-A관계와 HAS-A 관계 (0) | 2023.07.07 |
---|---|
자바(JAVA) - 달력 만들기 (0) | 2023.07.07 |
자바(JAVA) - static(클래스)변수와 instance변수, local(지역)변수 (0) | 2023.07.06 |
자바(JAVA) - 자료형 변환 (byte, int, long, char, boolean) 연산 (0) | 2023.07.06 |
자바(JAVA) - 제네릭(Generic) (0) | 2023.07.06 |
댓글