[java] 자바 제네릭의 제약 사항

자바에서 제네릭을 사용하면 타입 안정성을 높일 수 있지만, 몇 가지 제약 사항을 고려해야 합니다.

1. 원시 타입 사용 불가

원시 타입(Primitive type)에 대해서는 제네릭을 사용할 수 없습니다. 예를 들어, List<int>List<double>과 같은 형태는 존재하지 않습니다. 대신에 해당 타입의 래퍼 클래스를 사용해야 합니다. 예를 들어, List<Integer>List<Double>와 같이 래퍼 클래스를 사용하여야 합니다.

2. 인스턴스 생성 불가

제네릭으로 만들어진 타입에 대해서는 인스턴스를 직접적으로 생성할 수 없습니다. 예를 들어, new T()와 같은 형태로 인스턴스를 생성할 수 없습니다.

3. static 멤버에 대한 참조 불가

제네릭 타입은 static 멤버에 대한 참조를 할 수 없습니다. 예를 들어, T.staticMember와 같이 static 멤버에 대한 참조를 할 수 없습니다.

이러한 제약 사항들을 고려하여 자바 제네릭을 사용하면서 타입 안정성을 유지할 수 있습니다.


참고 자료: