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를 설치해야 합니다.
Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.
LinkedIn