본문 바로가기
Develop/Bit Camp & 자바의 정석

12-1. 지네릭스

by jaekk 2018. 5. 8.

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

댓글