자바에서 아마 가장 많이 쓰이는게 뭐냐고 하면...

변수, 조건문, 반복문 다음... 제네릭이 아닐까 생각이 듭니다.


그만큼 많이 쓰게 되는데요...


자바5에서 나타난 제네릭 타입이 뭘까?? 복제??? ㅠㅠ

설명하자면 어렵습니다.


다음과 같이 리스트를 선언했습니다. 제네릭 타입으로... String 객체만 받겠다고...


List<String> sList = new ArrayList<String>();

또는 List<객체> oList = new ArrayList<객체>(); 이렇게 사용자가 작성한 클랙스 객체타입을 담을 수도 있습니다.


어떤 타입도 받아서 전달할 수가 있습니다...너무나도 편리합니다...


그런데, 어떤 프로젝트 코드를 보다보니... 특이한 제네릭 타입을 발견합니다.


List<? extends 객체>

List<? super 객체>


메소드 파라메터에 제네릭 타입으로 선언이 되어있습니다.


그 의미는 다음과 같습니다.

List<? extends 객체> 는 해당 클래스를 포함하여, 자식 클래스까지 포함하여 제네릭 자료형으로 전달할 수 있다.

List<? super 객체>는 해당 클래스를 포함하여, 그 부모클래스의 제네릭 자료형으로 전달할 수 있다.


더 자세한 정보는 구글링을 참고하세요. .^^ 


https://www.google.co.kr/webhp?sourceid=chrome-instant&rlz=1C1OPRB_enKR598KR598&ion=1&espv=2&ie=UTF-8#q=%EC%9E%90%EB%B0%94%20%EC%A0%9C%EB%84%A4%EB%A6%AD%EC%9D%B4%EB%9E%80%3F