1. 지네릭스
컴파일할 때 타입체크 하는 것
1) 타입안정성
2) 타입체크, 형변환 생략
2. 지네릭 클래스의 선언
class Box<T>
T의 타입변수 사용
3. 지네릭스 용어
지네릭 클래스:
원시타입:Box
컴파일하면 원시 타입만 남는다.
타입 변수, 타입 매개 변수:T
4. 지네릭스의 제약
1) static 멤버에는 타입 변수 T를 사용할 수 없다.
2) 지네릭 타입의 배열T[] 생성 굴가
5. 지네릭 클래스의 객체 생성과 사용
1) 참조변수와 생성자에 대입된 타입이 일치해야함
2) 두 지네릭 클래스가 상속 관계이고 대입된 타입이 일치하는 것은 가능
3) 대입된 타입과 다른 타입의 객체는 추가할 수 없다.
※ 원시타입에 대한 다형성, 지네릭스에 대한 다형성(와일드 카드)
6. 제한된 지네릭 클래스
1) 특정 타입의 자손들만 대입할 수 있게 제한할 수 있다.
2) 클래스 내에 사용되는 메서드에도 선언된 T 사용
3) 인터페이스 extends 사용
상속:Fruit, 인터페이스: Eatable
<T extends Fruit & Eatable>
7. 와일드 카드
지네릭 타입의 다형성
8. 지네릭 메서드
public <T> void method(){}
메서드 호출 시 타입을 대입해야 한다.
7. 지네릭 타입의 형변환
1) 지네릭 타입과 원시 타입간의 형변환은 불가능
2) 와일드 카드가 사용된 지네릭 타입으로는 형변환 가능(다형적 매개변수)
Box<? extends <Object> wBox = <Box<? extends Object>) new Box<String>();
3) <? extends Object>를 줄여서 <?>로 쓸 수 있다.
8. 지네릭 타입의 제거
컴파일시 제거
'Develop > Bit Camp & 자바의 정석' 카테고리의 다른 글
11. 컬렉션 프레임워크 (0) | 2018.05.20 |
---|---|
12-2. 애너테이션 (0) | 2018.05.09 |
오라클설치 (0) | 2018.05.08 |
11. 컬렉션 프레임 워크 (0) | 2018.05.06 |
비트시험_3차 (0) | 2018.05.02 |
댓글