반응형
이번 글에서는 메서드에서 가변 인자(Variable Arguments)를 사용하여
매개값의 개수에 상관없이 데이터를 처리하는 방법을 학습합니다.
가변 인자를 사용하면 메서드 호출 시 매번 배열을 따로 만들지 않고,
편리하게 여러 값을 넘길 수 있습니다.
📦 클래스 코드 (Computer.java)
package ch06.sec08.exam01;
public class Computer {
int sum(int... values) {
int sum = 0;
for (int i : values)
sum += i;
return sum;
}
}
📌 실행 코드 (ComputerExample.java)
package ch06.sec08.exam01;
public class ComputerExample {
public static void main(String[] args) {
Computer com = new Computer();
int re1 = com.sum(1, 2, 3);
System.out.println("result1 : " + re1);
int re2 = com.sum(1, 2, 3, 4, 5);
System.out.println("result2 : " + re2);
int values[] = { 1, 2, 3, 4, 5 };
int re3 = com.sum(values);
System.out.println("result3 : " + re3);
int re4 = com.sum(new int[] { 1, 2, 3, 4, 5 });
System.out.println("result4 : " + re4);
}
}
💬 코드 설명
- int sum(int... values)
→ 가변 인자를 사용하여 0개 이상의 int 값을 받을 수 있음 → 내부적으로 values는 배열처럼 동작 - for (int i : values)
→ 향상된 for문을 사용해 전달된 모든 값을 합산 - 다양한 방식으로 호출:
- 단일 값 나열
- 배열 자체를 전달
- new int[] { ... }로 전달
💻 실행 결과
result1 : 6
result2 : 15
result3 : 15
result4 : 15
📌 간단 정리
호출 방식 | 설명 |
com.sum(1, 2, 3) | 직접 값 나열 |
com.sum(1, 2, 3, 4, 5) | 여러 값 직접 나열 |
com.sum(values) | 배열 전달 |
com.sum(new int[]{1,2,3,4,5}) | 배열 생성 후 전달 |
💡 포인트 정리
- 타입... 변수명 형태로 가변 인자를 선언할 수 있음
- 가변 인자는 0개 이상의 값을 받을 수 있음
- 내부적으로는 배열로 처리되어 for문이나 인덱스 접근 가능
- 가변 인자는 메서드 매개변수 목록 중 가장 마지막에만 위치해야 함
- 메서드 호출 시 편리성을 높여주는 문법
'프로그래밍 > JAVA' 카테고리의 다른 글
47. this를 활용한 메서드 호출과 객체 동작 (0) | 2025.04.28 |
---|---|
46. 메서드 오버로딩(Method Overloading) (0) | 2025.04.28 |
45. 객체의 상태를 제어하는 메서드 활용 (0) | 2025.04.28 |
43. 클래스의 메서드 정의와 호출 (0) | 2025.04.25 |
42. 생성자 오버로딩 - 다양한 방식의 객체 초기화 (0) | 2025.04.25 |
41. 생성자와 필드 초기화 - 객체의 상태 설정 (0) | 2025.04.25 |