List<String> list = new ArrayList<>();
List<String> list = new ArrayList<String>();
위 두 가지의 객체 생성 방식은 타입을 명시하느냐, 추론하느냐의 하는 문법적 차이만 있을 뿐 객체 생성은 동일하게 된다. 그렇다면 왜 이런 두 가지 객체 생성 방식이 존재하는 것일까
다이아몬드 연산자(<>)
Java 6까지는 Generic, ArrayList 같은 객체를 생성할 때 타입을 반드시 명시해야 했다. 그러나 Java 7부터는 컴파일러가 타입을 추론할 수 있게 되어 생성자 뒤쪽의 타입을 생략할 수 있게 된 것이다. 즉, 왼쪽에 이미 타입 정보가 있으므로 굳이 반복할 필요는 없다는 의미이다. 결국 기능적 차이는 없지만 문법적으로 더 간결하고 가독성 좋은 코드를 위해 현재는 다이아몬드 연산자(<>)를 사용하는 것을 권장한다.
'웹 개발 > Java' 카테고리의 다른 글
| List와 객체지향 (0) | 2025.12.09 |
|---|---|
| 접근제어자와 캡슐화 (0) | 2025.12.05 |
| 생성자 (0) | 2025.12.04 |
| Call by Value (0) | 2025.11.25 |