
제네릭 클래스
<T>
자료형의 안정성을 보장하고 구현을 용이하게 함
제네릭 메소드도 마찬가지로
메소드의 <T> 타입으로 할 수 잇어서 T값이 언제 결정되냐면,
인스턴스 생성할 때가 아니고, 메소드를 호출할 때이다.
매개변수의 자료형 제한
public static <T extends AAA> void myMethod(T param){..}
<T extends AAA> 얘가 클래스의 이름일경우 반드시 클래스를 구현해야하고
제네릭메소드 배열 전달
결론부터말하면 method(T[] arr){} . 이다.
t를 대시해서 배열이 올수있다. 배열도 인스턴스니까
method(T arry) 이렇게 사용하는데
만약에 그 메소드안에 arr[i]이런식으로 호출한다면 안될 수 있다.
왜냐하면 T arr 이렇게한다는 뜻은 T 의 위치에 모든것이 올 수 있지만
배열이 아닌 것이오면 arr[i]여기에 올수 없는 문제가 발생한다
그러므로 배열인것중에 모든것이 와도된다는 뜻의 T[] 이렇게 메소드를
생성해야한다 .
와일드카드 <?>
FruitBox <? extends Apple> boundedBox;
- apple을 상속하는 클래스의 인스턴스라면 무엇이든지 참조가능한
참조 변수를 선언함.
FruitBox <? extends Apple> boundedBox;
-apple이 상속하는 클래스의 인스턴스라면 무엇이든지 참조 가능한
참조변수를 선언함
'Java > Java Concept' 카테고리의 다른 글
[Java] framework Arraylist (0) | 2018.03.12 |
---|---|
[Java] 제네릭클래스의 와일드카드 이용하기. (0) | 2018.03.12 |
[Java] StringTokenizer 클래스의 hasTokenizer (0) | 2018.03.10 |
[Java] RANDOM CLASS 사용하기 (0) | 2018.03.09 |
[Java] Wrapper 클래스 (0) | 2018.03.09 |