개발입문/JAVA

[30일코딩] Generic 제너릭

haloaround 2017. 5. 9. 10:48

Java는 타입에 까다로운 언어이다.

컴파일할 때 서로 같은 타입을 가리키는 지를 엄격하게 확인한다.


그러나 같은 클래스, 같은 메소드를

다른 타입으로 재활용하고 싶을 경우를 위해 "제너릭" 이 있다.


- Reuse the same class and method throughout datatype with generics

- Compiler Type-checking


public class Node<E>

public <E> E getRandomAnimal(E[] element) {}


E 는 Animal 클래스를 상속받은 객체라면 어느것이든 들어올 수 있다.

E 는 데이터타입이 들어올 수있는 곳: 리턴타입, 매개변수, 메소드 내 어느 곳이든 사용 가능하다.

E 는 객체를 상속해야한다. (즉 int 대신 Integer를 사용해야한다.)




E - Element

K - Key

V - Value

N - Number

T - Type (e.g.: data type)

S,U,V, etc. These are second, third, and fourth types for when T is already in use.