제네릭이란 데이터의 타입을 일반화한다는 것을 의미한다. 클래스나 메소드에서 사용할 내부 데이터 타입을 외부에서 지정하는 방법이다.
class MyArray<T> { // T 는 타입 파라미터
    T element;
    void setElement(T element) { this.element = element; }
    T getElement() { return element; }
}
MyArray<String> list = new MyArray<>();
| 타입 | 설명 | 
|---|---|
| <T> | 타입(Type) | 
| <E> | 요소(Element) | 
| <K> | 키(Key) | 
| <V> | 값(Variable) | 
| <N> | 숫자(Number) | 
| <S,U,V> | 2, 3, 4번째 선언된 타입 | 
정해진 값 없이 아무 단어나 넣어도 문제는 없지만, 위 표와 같은 암묵적인 규칙이 존재한다.