개발 강의 정리/JAVA

[JAVA] Generic-3

심사기 2021. 7. 2. 12:17

1. 와일드 카드 타입

: 생성자의 매개변수나, 메소드의 매개변수, 리턴타입으로 "제네릭 타입(제네릭 클래스, 제네릭 인터페이스, 제네릭 메소드)"이 올때 와일드 카드 타입이 올 수 있다. 지역변수를 선언할때에도 물론 사용 가능하다. 하지만 가능하면 매개변수 선언시에 사용하는 것이 좋다.

 

1.제네릭 타입<?> 

타입 파라미터를 대치하는 구체적인 타입으로 모든 클래스나 인터페이스 타입이 올수 있다. 

 

2. 제네릭 타입<? extends 상위타입>

타입 파라미터를 대치하는 구체적인 타입으로 상위 타입이나 하위타입만 올 수 있다. 

 

3. 제네릭타입<? super 하위타입>

타입 파라미터를 대치하는 구체적인 타입으로 하위타입이나 상위 타입이 올 수 있다. 

 

2. 제네릭 타입의 상속과 구현

부모가 제네릭 타입이라면 자식 클래스에 부모의 타입 파라미터를 기술해야한다. 자식 클래스 또한 자신만의 타입 파라미터를 가질 수 있다. 

 

 

public class Child <T, M> extends Parent <T, M>


//자신만의 타입 파라미터도 가질 수 있다. 

public class Child <T, M, C> extends Parent <T, M>