[TIL | 내일배움캠프] 가변인수

변채주·2025년 9월 24일

Java

목록 보기
6/8

메서드를 작성하면서 매개변수의 개수를 제한하지 않고 사용하고 싶을 때가 있다. 같은 타입의 변수를 여러개 넣어야 하는 경우 길게 안 적고 편하게 작성하는 법이 없을까?

그래서 찾아봤다.

가변인수 (Variable Arguments)

활용 방법

MethodName (Type... parameter) {}
//사용할 매개변수의 타입... 변수명

이렇게 입력해주면 이 메서드에 정하지 않은 개수의 같은 타입 parameter를 인수로 받겠다는 의미가 된다.
주의할 점은 입력할 때 parameter를 하나하나 손수 써서 입력했더라도, 메서드 내에서 parameter가 배열 형태의 데이터가 된다는 점이다.

String... str → str은 String[]
double... num → num은 double[]

그리고 매개변수가 여러 개 필요한 메서드일 때, 가변인수는 매개변수 중 제일 마지막에 위치해야 한다.

//가변인수는 항상 매개변수 중 마지막에 배치
public void form (int index, char c, String... str) {}

또 하나 주의해야 할 부분이 변수의 개수에 제한이 없다보니 단일 매개변수나 정해진 매개변수를 쓸 때보다 성능이 떨어질 수도 있다. 가변인수는 메서드가 호출될 때마다 배열 새로 할당하고 초기화한다.

유연성이 있어 활용에는 좋지만 리스크가 있기 때문에 상황에 맞게 쓰는 판단력이 필요하다.

profile
우당탕탕얼레벌레 개발 일지

0개의 댓글