1. Question

다이아몬드 연산자(diamond operator)란 무엇인가?

2. Answer

Java에서 다이아몬드 연산자(<>)는 Java 7부터 도입되었다. 이 연산자는 제네릭 인스턴스를 생성할 때 타입 추론(type inference)을 활용하여 코드를 더 간결하게 만드는 데 도움을 준다. 다이아몬드 연산자를 사용하면 컴파일러가 컨텍스트(context)로부터 타입 파라미터를 유추할 수 있게 되어, 개발자가 명시적으로 타입을 제공하지 않아도 된다.

3. Detail

A. 사용 전과 사용 후 비교

Java 7 이전에는 제네릭을 사용할 때 타입 파라미터를 생성자 호출 양쪽에 명시해야 했다.

List<String> strings = new ArrayList<String>();
Map<String, List<String>> map = new HashMap<String, List<String>>();

Java 7부터는 다이아몬드 연산자를 사용하여 타입 파라미터를 한 번만 명시하고, 컴파일러에게 나머지 부분의 타입 추론을 맡길 수 있다.

List<String> strings = new ArrayList<>();
Map<String, List<String>> map = new HashMap<>();

B. 장점

  • 코드의 간결성: 타입 파라미터를 반복해서 작성할 필요가 없어 코드가 더 간결해진다.

  • 타입 안전성: 컴파일러가 타입을 추론하기 때문에, 타입 관련 오류를 컴파일 시점에 잡아낼 수 있다.

  • 유지보수 용이성: 코드 수정 시 타입 파라미터를 한 곳에서만 변경하면 되므로, 오류 가능성이 줄어든다.

4. Reference

None

태그:

카테고리:

업데이트:

댓글남기기