728x90
오늘은 가변인자(Varargs)를 활용한 메서드를 만들어 사용하는 예시를 보여드리겠습니다.
가변인자(Varargs) 란 가변적으로 수가 변화하여 임의의 개수인 인자를 뜻합니다. 이 가변인자를 활용시 메서드에 매개변수를 넣을 때 같은 타입 기준 꼭 몇개로 고정하지 않고 넣을 수 있어 같은 타입의 여러 인수를 유연하게 처리 할 수 있습니다.
1.가변인자를 활용한 메서드 정의 방법 및 사용법
=> 위의 이미지 처럼 타입 ... 이름 형식으로 인자 부분을 적어 메서드를 정의합니다.
=> 사용시 원하는 만큼 같은 타입의 인자들을 넣어 사용하면 됩니다.
=> 사용시 배열 자체를 넣는것도 가능합니다.
2. 주의점
(1) 가변인자 와 여러 인자를 같이 정의한 메서드를 만들 경우 가변인자를 제일 우측 끝에 넣어야 합니다.
(2) 한 메서드에서 인자 2개 이상을 가변인자로 정의 하는 것은 불가능합니다.
(3)가변인자 문법을 사용해 정의한 메서드는 기존의 메서드 정의 방식에 배열을 인자로 사용한것과 똑같이 취급됩니다
이때 배열을 사용해 정의한것과 가변인자를 활용한 것의 차이를 보자면 메서드를 호출할때 배열로 정의한 메서드는 가변인자 방식으로 매개변수를 넣어 메서드를 호출하는 것은 불가능합니다.
사용 예시
가변 인자를 사용하여 다양한 개수의 매개변수를 받아 평균을 내는 예시를 보여드리겠습니다.
public class example_main {
public static void main(String[] args){
// 가변 인자를 사용하여 다양한 수의 평균을 계산
double average1 = calculateAverage(1, 2, 3, 4, 5); // 5개의 숫자
double average2 = calculateAverage(10, 20, 30); // 3개의 숫자
double average3 = calculateAverage(7, 8); // 2개의 숫자
// 결과 출력
System.out.println("Average 1: " + average1);
System.out.println("Average 2: " + average2);
System.out.println("Average 3: " + average3);
}
// 가변 인자를 사용하는 메서드 정의
private static double calculateAverage(int... numbers) {
double total = 0.0;
// 가변 인자로 받은 모든 수를 합산
for (int num : numbers) {
total += num;
}
// 입력된 숫자의 개수로 나누어 평균 계산
return numbers.length > 0 ? total / numbers.length : 0;
}
}
=> 다양한 개수의 매개변수를 넣었음에도 메서드가 잘 동작하여 처리해주는 것을 볼 수 있습니다.
'Java' 카테고리의 다른 글
[JAVA] 인텔리제이 IntelliJ IDEA JAR 파일 생성/ 만들기 (0) | 2024.08.21 |
---|---|
[JAVA]3항 연산자 사용하기 (0) | 2024.05.29 |
[Java] Vert.x 클러스터링 예제 (0) | 2024.04.04 |
[Java] Vert.x HTTP 기본 예제 (0) | 2024.03.31 |
[JAVA] 다양한 컬렉션 타입들을 사용해 학생 데이터 관리 시스템 만들기 (0) | 2024.03.26 |