Java

제네릭 (Generic) 에 대해

재심 2024. 10. 3. 19:21

개념

2004년에 Java 5 버전이 등장하면서 추가된 기능.

제네릭을 통해 더 안전한 코드를 만들 수 있게 되었다.

 

제네릭이란 클래스나 메서드에서 사용할 자료형을 컴파일 타임에 미리 지정하는 방식.

이를 통해 컴파일 시점에 타입 검사를 해서 객체의 타입 안정성을 더 높일 수 있게 되었다.

 

제네릭 전후

// 전
List names = new ArrayList();

names.add("이름");
names.add(123123); // 런타임 오류 발생

// 후 
List<String> names = new ArrayList<>();

names.add("이름");
names.add(123123); // 컴파일 시점에 미리 알 수 있음

 

그리고 제네릭이 처음 등장했을 때 변수뿐만 아니라 객체에도 타입을 선언해야 했다고 한다.

// Java 5
Map<String, Integer> map = new HashMap<String, Integer>();

// Java 7
Map<String, Integer> map = new HashMap<>();