PHpullh
학습 라이브러리/Java/가변인자(Varargs)

JAVA · 기초 문법

가변인자(Varargs)

... 문법으로 가변 개수 인자를 받는 메서드를 작성합니다.

기초 문법입문varargs가변인자오버로드

핵심 설명

... 문법으로 가변 개수 인자를 받는 메서드를 작성합니다.

Java code

public class VarargsDemo {
    // 가변인자 메서드
    static int sum(int... numbers) {
        int total = 0;
        for (int n : numbers) {
            total += n;
        }
        return total;
    }

    // 일반 파라미터 + 가변인자
    static String format(String prefix, Object... args) {
        StringBuilder sb = new StringBuilder(prefix);
        for (Object arg : args) {
            sb.append(" ").append(arg);
        }
        return sb.toString();
    }

    public static void main(String[] args) {
        System.out.println(sum());           // 0
        System.out.println(sum(1, 2, 3));    // 6
        System.out.println(sum(10, 20));     // 30

        // 배열도 전달 가능
        int[] arr = {1, 2, 3, 4, 5};
        System.out.println(sum(arr));        // 15

        System.out.println(format("결과:", 1, "a", true));
    }
}

학습 팁

가변인자는 내부적으로 배열입니다. 성능이 중요하면 자주 사용하는 인자 개수에 대해 오버로드 메서드를 제공하세요.

주의할 점

가변인자는 메서드당 하나만, 마지막 파라미터에만 올 수 있습니다. void m(int... a, String... b)는 불가능합니다.

자주 묻는 질문

가변인자(Varargs)란 무엇인가요?

... 문법으로 가변 개수 인자를 받는 메서드를 작성합니다.

가변인자(Varargs) 학습 시 주의할 점은 무엇인가요?

가변인자는 메서드당 하나만, 마지막 파라미터에만 올 수 있습니다. void m(int... a, String... b) 는 불가능합니다.