Open HanaHww2 opened 1 year ago
: 명시한 타입의 인수를 0개 이상 받을 수 있는 메서드
특징
- 호출 시, 인수의 개수와 길이가 같은 배열을 만들고 여기에 인수들을 저장해서 가변인수 메서드에다가 전달해주는 방식
- 인수 개수가 정해져있지 않을 때 유용
- 최소 개수의 인수를 설정해줄 때는
필요한 개수만큼의 평범한 매개변수로 받고 마지막 인수로는 가변인수로 받는 게 효율적이다.
ex)static int min(int firstArg, int... remainingArgs){..}
- 그렇지 않을 경우,
- 최소 개수보다 작은 개수의 인수를 넣어서 호출하면 컴파일 타임이 아닌 런타임에 실패하게 됨
- 가독성이 떨어지는 코드
- 인수의 유효성 검사를 명시적으로 해야함
public void foo() {}
public void foo() {int a1) {}
public void foo() {int a1, int 2) {}
public void foo() {int a1, int 2, int 3) {}
public void foo() {int a1, int 2, int 3) {}
public void foo() {int a1, int 2, int 3, int... rest){}
가변인수 사용할 때 유의점을 알게 되서 좋았습니다
가변인수의에 대해 정리할 수 있어서 좋았습니다