제네릭이란 ?
제네릭은 클래스, 메소드에서 사용할 데이터 타입을 나중에 확정하는 기법이다. 비제네릭 타입의 코드에서 발생하는 불필요한 타입 변환으로 인한 프로그램 성능의 저하를 감소시킬 수 있다.
제네릭의 대표적 장점
- 타입 안정성( 원하는 타입만 넣을 수 있기 때문)
- 코드가 간결해진다
제네릭 선언 방법
(1) 클래스를 선언하는 경우
JDK1.7부터 생성자의 <> 생략 가능하다.
public class Changi<T>{ private T name; public T getName(){ return name; } public void setName(T name){ this.name = name; } }
(2) 메소드를 선언하는 경우
제네릭 타입을 메소드에서 선언하는 경우 접근제한자와 반환타입 사이에 선언한다.
public class Changi<T>{ public <T> Changi makeChangi(T name){ return new Changi(name); } }
일반적으로 사용되는 타입들의 이름
- E - Element (요소 : 자바 컬렉션 라이브러리에서 많이 사용)
- K - Key
- T - Type
- V - Value
- S,U,V - 2번째, 3번째, 4번째 타입