학습할 것 (필수)

public class <T> method{} == public class (class T) Object method{}

제네릭 사용법

제네릭은 다양한 타입의 객체들을 다루는 메서드나 컬렉션 클래스에 컴파일 시의 타입체크를 해주는 기능이다. 컴파일 타임에 체크하기 때문에 타입 안정성을 높인다. 의도되지 않은 타입의 객체가 저장되는 것을 막는다.

class 클래스명<참조자료형> {
}

위와 같은 방법으로 선언할 수 있다.

public class Box {
  private Object object;

  public Object getObject() {
    return object;
  }

  public void setObject(Object object) {
    this.object = object;
  }
}

위의 예시에서 자료를 꺼내 쓸 때 명시적으로 형변환이 필요하고 이 과정에서 오류가 발생할 수 있다. 이럴 때 제네릭을 쓰면 된다.

public class Box<T> {
  private T object;

  public T getObject() {
    return object;
  }

  public void setObject(T object) {
    this.object = object;
  }
}

네이밍 규칙