제네릭
제네릭 클래스 : 클래스를 정의할 때, 클래스 안에서 사용되는 자료형을 구체적으로 명시하지 않고 기호로 적어놓는 것
자료형을 클래스의 매개변수로 만든 것 ⇒ 타입 매개 변수
class Box<T> {
private T data;
public void set(T data) { this.data = data; }
public T get() { return data; }
}
메소드의 반환형, 필드 또는 지역 변수의 자료형
제네릭 클래스는 여러 개의 타입 매개변수를 가질 수 있으나 타입의 이름은 클래스나 인터페이스 안에서 유일하여야 한다
관례에 의하여 타입의 이름은 **“하나의 대문자”**로 한다
대문자로 하는 이유는 변수의 이름과 타입의 이름을 구별할 수 있게 하기 위함이다
아래는 일반적으로 널리 사용되는 타입의 이름들이다