컴파일시 타입을 체크해 주는 기능(compile time type check) - JDK 1.5객체의 타입 안정성을 높이고 형변환의 번거로움을 줄여줌위 코드를 실행해보면 java.lang.ClassCastException 에러를 발생시키는데 이는 컴파일 단계에서 에러
Box<(타입변수)T> : 지네릭 클래스, 'T의 Box' 또는 'T Box'라고 읽는다T : 타입변수 또는 타입 매개변수. (T는 타입문자)Box : 원시 타입(raw type) // 일반클래스 -> 지네릭 클래스참조 변수와 생성자의 대입된 타입은 일치해야 한다
클래스를 작성할 때, Object 타입 대신 T와 같은 타입 변수 사용위와 같이 <타입변수>를 사용하면 형변환을 따로 해줄 필요가 없다.여러 개의 타입 변수가 필요한 경우, 콤마(,) 구분자로 사용Iterator와 HashMap을 사용할 때 지네릭스를 활용하면 타
extneds로 대입할 수 있는 타입을 제한인터페이스인 경우에도 extends를 사용인터페이스를 같이 사용할때 implements 대신 &로 표현타입 변수에 대입은 인스턴스 별로 다르게 가능static 멤버에 타입변수 사용 불가 (모든 인스턴스에 공통이기 때문)배열
하나의 참조 변수로 대입된 타입이 다른 객체를 참조 가능하나의 참조변수로 여러 객체를 가르키고 싶지만 타입이 일치해야하는 답답함을 해소 시켜줌 즉, 하나의 참조변수로 서로 다른 타입이 대입된 지네릭 객체를 다루기 위한 것와일드 카드의 세가지 용법메서드의 매개변수에 와일
지네릭 타입과 원시 타입 간의 형변환은 바람직하지 않다. (경고 발생)와일드 카드가 사용된 지네릭 타입으로는 형변환 가능컴파일러는 지네릭 타입을 제거하고, 필요한 곳에 형변환을 넣는다.지네릭 타입의 경계(bound)를 제거위 코드를 컴파일 하면으로 변환이 된다. 지네릭