티스토리 뷰

Programming/Java

Generic

Albothyl 2016. 8. 22. 21:10

Generic


1. Generic이란 무엇인가?

- generic은 type을 compile시점에 정하는 키워드로, type을 사용하는 쪽에서 지정한다.


그렇다면 왜 generic을 사용할까? 


어떤 type인지 체크하여 실행할때 형변환에서 발생할 수 있는 에러를 방지하고, 확장성 있는 객체를 만들 수 있기 때문이다.


한가지 예를들자면 List가 있다. List는 다양한 자료구조를 담을 수 있지만 어떤 자료구조가 들어올지 알 수 없다. 때문에 사용하는쪽에서 type을 정하면 이를 compile시점에 사용자가 지정한 type의 List가 생성된다.


아래는 ArrayList의 시그니쳐와 실제 ArrayList를 사용하는 예제이다.



2. Parameter type

- generic에서 " < > "사이에 들어가는 parameterType들은 아래와 같은 의미를 가지고 있다.

E

 Element 

 Key

 Number

T

 Type

 Value

 2nd type

 3rd type

 4th type



3. Wildcard
- wildcard는 사용자가 지정한 타입만을 받는것이 아니라 여러가지 타입을 받을 수 있도록 가능하도록 해준다.

 알 수 없는 타입

 <?>

 모든 객체, 내부적으로는 Object로 인식

<? super 객체> 

 명시된 객체와 그 상위 객체, 내부적으로는 Object로 인식한다.

<? extends 객체> 

 명시된 객체와 이를 상속한 하위객체, 내부적으로는 명시된 객체로 인식한다.




4. EX :

- 사용 예제





'Programming > Java' 카테고리의 다른 글

StringBuffer, StringBuilder  (0) 2016.08.23
자료구조  (0) 2016.08.22
Static  (0) 2016.08.21
Java Memory Structure  (3) 2016.08.20
Enum  (0) 2016.08.17
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함