제한 없는 인자

2024. 3. 15. 00:11Java

  • 경우에 따라서 메소드 인자를 가변적으로 전달하고 싶은 경우가 있다.
  • 메소드에 정수값을 경우에 따라서 3개, 어떤 경우엔 5개를 넘기고 싶다면 어떻게 해야 할까?

예시

public class Calculator {
    public int plus(int i, int j){
        int sum = i + j;
        return sum;
    }

    public int plus(int i, int j, int x){
        int sum = i + j + x;
        return sum;
    }

    //제한 없는 아규먼트
    public int plus(int... vals){
        int sum = 0;
        for (int v : vals){
            sum += v;
        }
        return sum;
    }
}
public class CalculatorTest {
    public static void main(String[] args) {
        Calculator cal = new Calculator();
        int resultValue = cal.plus(1,2,3,4,5,6,7,8);
        System.out.println(resultValue);
        System.out.println(cal.plus(1));
        System.out.println(cal.plus(1,2,3,4));
    }
}

'Java' 카테고리의 다른 글

TDD 예제(DateCalculator)  (0) 2024.03.18
TDD(테스트 주도 개발)  (0) 2024.03.18
명령 행 인자  (0) 2024.03.15
for each문  (0) 2024.03.15
이차원 배열  (0) 2024.03.15