인사이트
[JAVA] 전달인자 여러 개 받기 본문
미션을 받았다.
1. int형 타입으로 전달인자 3개 받게 메소드 구성해주세요
- 매개변수 자리에 int a, int b, int c 써주면 된다
근데 또 이런 미션을 준다.
2. 아까 거기서 2개 더 받고 싶어졌어요. 전달인자 5개 받게 해주세요.
- int a, int b, int c, int d, int e
오케이 여기까진 해줄 수 있다.
그런데 갑자기 또 이런 미션을 받는다.
3. 아 전달인자 1개면 충분할 것 같아요.
- int a만 남기고 다 지운다
한 번만 더 요청한다면 화가 날 것 같다
이렇게 힘들게 해야할까..?
그럴 때 int ... values를 사용하면 쉽다!
전달인자로 몇 개가 들어오든 상관이 없어지기 때문이다
// 가변 매개변수
public int sum(int ... values) {
int sum = 0;
for (int num : values) {
sum += num;
}
return sum;
}
그럼 이제 무조건 좋을까?
꼭 그렇진 않다.
속도적인 측면도 그렇고 저렇게 하면 뭐가 얼마나 들어왔는지 아는 게 미리 정해진 것보다는 어렵기 때문에
"무조건 2개만 받는다.", "무조건 1개만 받는다." 이렇게 정해져 있을 땐 type ... values 대신 type variableName을 정해주는 게 훨씬 효율적이다!