Standard Of Java, Chapter 12. Generics

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 인용.