제네릭이란
클래스 내부에서 사용할 데이터 타입을 클래스 외부에서 지정하는 기법을 '제네릭'이라고 한다.
'제네릭'을 사용하면 타입 안정성을 제공하고 타입 체크 및 형 변환을 생략할 수 있게 해주며 하나의 값이 여러 타입을 가질 수 있게 해준다는 장점이 있다.
컬렉션 클래스에서 제네릭을 사용하는 이유
컬렉션 클래스는 다양한 타입의 데이터를 저장하고 관리한다. 타입은 무궁무진하기에 모든 타입에 대한 개별적인 컬렉션 클래스를 만드는 것은 말이 안 되고 모든 데이터 타입을 받을 수 있는 Object 나 외부에서 데이터 타입을 지정하는 기법인 제네릭을 사용하여 컬렉션 클래스를 구현할 수 있을 것이다.
Object 타입으로 데이터를 받아 런타임 시 형변환 및 타입 체크를 한다면 제네릭에 비해서 코드 안정성이 떨어지며 런타임 에러가 발생할 가능성이 높다.
반면 제네릭을 사용할 경우 컴파일 타임에 타입 체크를 할 수 있어 안정성을 보장할 수 있고 다양한 타입의 데이터를 받을 수 있으므로 컬렉션 클래스에서는 제네릭을 사용한다.
'기술 면접 질문' 카테고리의 다른 글
스프링 컨테이너(Spring Container)에 대해 설명해주세요 (0) | 2023.07.24 |
---|---|
List, Set, Map, HashMap 의 차이에 대해서 설명해주세요 (0) | 2023.07.24 |
의존성 주입에 대해 설명해주세요 (0) | 2023.07.23 |
JPA의 영속성 컨텍스트에 대해 설명해주세요 (0) | 2023.07.21 |
Spring MVC 에서의 예외 처리 기법에 대해 설명해주세요 (0) | 2023.07.21 |