HOWTO · Java

Java의 다이아몬드 연산자

이 튜토리얼에서는 Java의 다이아몬드 연산자에 대해 설명합니다.

이 페이지의 내용

제네릭을 좀 더 간단하게 사용하려면 Java의 다이아몬드 연산자를 살펴봐야 합니다. 다이아몬드 연산자는 주로 Anonymous Inner Class에 사용되는 <>와 같습니다.

Java의 이 특수 연산자는 개체를 만들 때 제네릭 사용을 단순화하는 데 도움이 됩니다. 프로그램의 가독성을 높이고 프로그램에서 확인되지 않은 경고를 피할 수 있습니다.

이 기사에서는 다이아몬드 연산자 <>의 사용법을 살펴보고 주제를 더 쉽게 이해할 수 있도록 예제와 설명을 통해 주제에 대해 논의할 것입니다.

Java의 다이아몬드 연산자

다이아몬드 연산자의 가장 흥미로운 점은 Generics의 유형을 언급하지 않고 Generics의 개체를 만들 수 있다는 것입니다. 아래에서 공유하는 일반 구문은 다이아몬드 연산자를 사용하여 객체를 생성하기 위한 것입니다.

ClassName<TYPE> MyObj = new ClassName<>();

JDK 7과 같은 하위 버전의 JDK를 실행할 때는 다이아몬드 연산자를 사용할 수 없습니다. 따라서 이 기사의 코드를 실행하려면 JDK를 업그레이드해야 합니다.

Java의 다이아몬드 연산자를 사용한 예

아래 예제는 Java에서 다이아몬드 연산자를 사용하는 방법을 보여줍니다. 아래 예제 코드를 따라 해보자.

class UsingDiamond {
  // Declaring a generic method
  static <T> void DisplayMsg(T data) {
    System.out.println("The input string is: " + data);
  }

  // Our controlling method ( Main method )
  public static void main(String[] args) {
    // Call a generic method with a String argument
    DisplayMsg("This is a string");
  }
}

우리는 이미 각 라인의 목적을 명령했습니다. 위에서 공유한 예제 코드를 실행하면 콘솔에 아래와 같은 출력이 표시됩니다.

The input string is: This is a string

주제를 명확하게 하기 위해 다른 예를 살펴보겠습니다.

아래 예제에서는 추상 클래스를 만들고 다이아몬드 연산자를 사용하여 기본 클래스와 연결합니다. 아래 예를 살펴보십시오.

abstract class AbstractClass<T> { // Declaring a abstract class
  abstract T Sum(T num1, T num2); // Declaring a abstract method
}

// Our main class
public class UsingDiamond {
  public static void main(String[] args) {
    AbstractClass<Integer> obj =
        new AbstractClass<>() { // Creating an object for the abstract class
          Integer Sum(Integer n1, Integer n2) { // Defining the abstract method
            return (n1 + n2);
          }
        };
    Integer result = obj.Sum(30, 20); // Calling the abstract method.
    System.out.println("The result is: " + result);
  }
}

우리는 이미 각 코드 라인의 목적을 명령했습니다. 위에서 공유한 예제 코드를 실행하면 콘솔에 아래와 같은 출력이 표시됩니다.

The result is: 50

여기에서 공유되는 코드 예제는 Java로 되어 있습니다. 시스템에 Java가 포함되어 있지 않은 경우 환경에 Java를 설치해야 합니다.