Java 기본 매개 변수

Mohammad Irfan 2023년10월12일
  1. Java의 기본 매개 변수
  2. Java에서 var-args를 사용하여 기본 매개 변수 설정
  3. Java에서 기본 매개 변수를 빈 문자열로 설정
  4. Java에서 임의 수의 인수와 함께 var-args를 사용하여 기본 매개 변수 설정
Java 기본 매개 변수

이 튜토리얼에서는 Java에서 기본 매개 변수를 구현하는 방법을 소개합니다.

값이 전달되지 않으면 기본 매개 변수가 사용됩니다. 메서드가 여러 인수를 받아들이는 동안 제한된 인수를 전달하려는 경우 유용합니다. 예를 들어, 메소드는 세 개의 인수를 허용하지만 메소드 호출 중에 두 개의 인수 만 전달하려는 경우 Java 컴파일러는 컴파일 오류를 피하기 위해 세 번째 인수의 기본값을 사용합니다.

Java는 기본 매개 변수 값을 지원하지 않지만 var-args 또는 메소드 오버로딩과 같은 일부 내장 솔루션을 사용하여이를 달성 할 수 있습니다. 몇 가지 예를 살펴 보겠습니다.

Java의 기본 매개 변수

이 예에서는 메서드 오버로딩 방식을 사용하여 기본 매개 변수 값을 설정합니다. 그러나 이것은 좋은 해결책은 아니지만 대안으로 사용할 수 있습니다. add()메소드를 호출하는 동안 기본값으로 0을 전달합니다.

이 접근 방식은 동일한 유형의 두 개의 선택적 매개 변수가있는 경우 작동하지 않으며 그중 하나를 생략 할 수 있습니다.

public class SimpleTesting {
  int add(int a, int b) {
    return a + b;
  }
  int add(int a, int b, int c) {
    return a + b + c;
  }
  public static void main(String[] args) {
    SimpleTesting test = new SimpleTesting();
    int val1 = 10;
    int val2 = 20;
    int result1 = test.add(val1, 0);
    int result2 = test.add(val1, 0, val2);
    System.out.println("resutl1 : " + result1);
    System.out.println("resutl2 : " + result2);
  }
}

출력:

resutl1 : 10
resutl2 : 30

Java에서 var-args를 사용하여 기본 매개 변수 설정

이것은 변수 args 기능을 사용하여 기본 매개 변수를 설정하는 또 다른 접근 방식입니다. var-args를 사용하면 동일한 유형의 가변 길이 인수를 전달할 수 있습니다. 아래 예를 참조하십시오.

public class SimpleTesting {
  int add(int a, int... b) {
    int b2 = b.length > 0 ? b[0] : 0;
    return a + b2;
  }
  int add(int a, int b, int c) {
    return a + b + c;
  }
  public static void main(String[] args) {
    SimpleTesting test = new SimpleTesting();
    int val1 = 10;
    int val2 = 20;
    int result1 = test.add(val1);
    int result2 = test.add(val1, 0, val2);
    System.out.println("resutl1 : " + result1);
    System.out.println("resutl2 : " + result2);
  }
}

출력:

resutl1 : 10
resutl2 : 30

Java에서 기본 매개 변수를 빈 문자열로 설정

문자열 매개 변수의 경우 매개 변수에 빈 문자열을 설정할 수 있습니다. 그러나이 문자열은 기본값으로 null을 보유합니다. 아래 예를 참조하십시오.

public class SimpleTesting {
  String defaulPara(int a, String str1, String str2) {
    return str1 + str2 + a;
  }
  public static void main(String[] args) {
    SimpleTesting test = new SimpleTesting();
    int val1 = 10;
    String result1 = test.defaulPara(val1, "", "second");
    String result2 = test.defaulPara(val1, "first", "");
    System.out.println("resutl1 : " + result1);
    System.out.println("resutl2 : " + result2);
  }
}

출력:

resutl1 : second10
resutl2 : first10

Java에서 임의 수의 인수와 함께 var-args를 사용하여 기본 매개 변수 설정

var-args의 경우 메서드를 호출하는 동안 인수를 자유롭게 제공 할 수 있습니다. 따라서 제한된 인수 만 제공하려면 제대로 작동합니다. 아래 예를 참조하십시오.

public class SimpleTesting {
  int defaulPara(int... a) {
    int sum = 0;
    for (int i : a) {
      sum += i;
    }
    return sum;
  }
  public static void main(String[] args) {
    SimpleTesting test = new SimpleTesting();
    int val1 = 10;
    int val2 = 20;
    int result1 = test.defaulPara();
    int result2 = test.defaulPara(val1);
    int result3 = test.defaulPara(val1, val2);
    System.out.println("resutl1 : " + result1);
    System.out.println("resutl2 : " + result2);
    System.out.println("resutl3 : " + result3);
  }
}

출력:

resutl1 : 0
resutl2 : 10
resutl3 : 30

관련 문장 - Java Method