본문 바로가기
프로그래밍/JAVA

초보 자바 프로그래밍(33) - 가변 인자를 사용한 메서드 작성

by 머니테크리더 2023. 5. 2.
반응형

가변인자를 사용한 메서드 대표 이미지
가변인자를 사용한 메서드 대표 이미지

🔖 INDEX

     

     

    이 글에서는 자바에서 가변 인자를 사용하여 메서드를 작성하는 방법에 대해 설명합니다. 가변 인자의 개념과 사용법을 이해하고, 실제 프로젝트에서 어떻게 활용할 수 있는지 알아봅시다.

     

    가변 인자를 사용한 메서드 작성하기

    자바에서 가변 인자(Varargs)는 메서드에 전달되는 인자의 개수가 유동적일 때 사용할 수 있는 기능입니다. 가변 인자는 메서드 매개변수의 타입 뒤에 '...'을 붙여서 선언하며, 메서드 내부에서는 배열로 취급됩니다.

     

    가변 인자를 사용한 메서드를 작성하려면, 메서드의 매개변수 선언 시 타입 뒤에 '...'을 추가하면 됩니다. 가변 인자는 메서드 내부에서 배열로 취급되기 때문에 배열과 유사한 방식으로 사용할 수 있습니다.

    public static void methodName(Type... args) { ... }

     

    다음은 가변 인자를 사용하여 정수의 합을 계산하는 메서드를 작성하는 예제입니다.

    // VarargsExample 클래스 선언
    public class VarargsExample {
    
        // 메인 메서드 선언
        public static void main(String[] args) {
            // sumOfNumbers 메서드를 호출하여 전달한 가변 인자들의 합을 구하고, sum1 변수에 저장
            int sum1 = sumOfNumbers(1, 2, 3);
            // sumOfNumbers 메서드를 호출하여 전달한 가변 인자들의 합을 구하고, sum2 변수에 저장
            int sum2 = sumOfNumbers(4, 5, 6, 7, 8);
    
            // sum1의 결과 출력
            System.out.println("Sum1: " + sum1);
            // sum2의 결과 출력
            System.out.println("Sum2: " + sum2);
        }
    
        // 정수 가변 인자를 매개변수로 받아 합을 계산하는 메서드 sumOfNumbers 선언
        public static int sumOfNumbers(int... numbers) {
            // 합을 저장할 sum 변수를 0으로 초기화
            int sum = 0;
    
            // 가변 인자 numbers를 순회하며 각 요소를 number 변수에 저장
            for (int number : numbers) {
                // 현재 순회 중인 number 값을 sum에 더함
                sum += number;
            }
    
            // 계산된 합을 반환
            return sum;
        }
    }

    위 예제에서 'sumOfNumbers' 메서드는 가변 인자를 사용하여 정수의 합을 계산합니다. 이 메서드는 인자의 개수에 상관없이 동작하며, 가변 인자를 배열처럼 사용하여 각 요소를 더한 후 결과를 반환합니다.

     

     

    실제 프로젝트에서의 활용 방법

    실제 프로젝트에서는 가변 인자를 사용하여 인자의 개수가 유동적인 메서드를 작성할 수 있습니다. 예를들어, 문자열을 결합하는 메서드, 다양한 개수의 숫자를 처리하는 통계 메서드 등에서 가변 인자를 활용할 수 있습니다. 이렇게 가변 인자를 사용하면 코드의 유연성을 높일 수 있고, 불필요한 메서드 오버로딩을 줄일 수 있습니다.

     

    가변 인자를 사용할 때 주의해야 할 몇 가지 사항이 있습니다:

    • 가변 인자는 메서드 매개변수 중 마지막에 선언되어야 합니다.
    • 메서드에서 가변 인자를 한 개 이상 선언할 수 없습니다.
    • 가변 인자는 메서드 내부에서 배열로 취급되기 때문에, 배열의 길이를 확인하여 인자가 전달되지 않은 경우를 처리해야 할 수도 있습니다.

     

     

    댓글