Chapter 12. Generic
Generics란?
- 다양한 타입의 객체를 다루는 메소드나 컬렉션 클래스에 컴파일 시 Type을 체크해 주는 기능이다.
- 객체의 타입을 컴파일 시에 체크하기 때문에 객체의 타입 안정성을 높이고 형 변환의 번거로움이 줄어든다.
Type 안정성?
의도하지 않은 타입의 객체가 저장되는 것을 막는다.
원래의 타입과 다른 타입으로 잘못 형 변환 되어 발생할 수 있는 오류를 줄여준다.
ArrayList temp와
ArrayList<String> temp
의 차이인듯 하다.각각 넣을때와 꺼낼때 타입 체크와 형변환을 생략할 수 있다.
Generics의 장점
타입 안정성을 제공한다.
타입 체크와 형변환을 생략할 수 있으므로 코드가 간결해 진다.
정리 하자면 다루고자 하는 객체의 타입을 미리 명시해 줌으로써 번거로운 형변환을 줄여준다는 얘기다.
Generic 클래스의 선언
Class name<T>{
T name;
void setName (T item){ this.name = item; }
T getName () { return name; }
}
출처 : 남궁성, 『 자바의 정석 3/E』, 도우출판(2016.1.27), chapter 7 인용.