[java] 자바 제네릭의 제약 사항
자바에서 제네릭을 사용하면 타입 안정성을 높일 수 있지만, 몇 가지 제약 사항을 고려해야 합니다.
1. 원시 타입 사용 불가
원시 타입(Primitive type)에 대해서는 제네릭을 사용할 수 없습니다. 예를 들어, List<int>
나 List<double>
과 같은 형태는 존재하지 않습니다. 대신에 해당 타입의 래퍼 클래스를 사용해야 합니다. 예를 들어, List<Integer>
나 List<Double>
와 같이 래퍼 클래스를 사용하여야 합니다.
2. 인스턴스 생성 불가
제네릭으로 만들어진 타입에 대해서는 인스턴스를 직접적으로 생성할 수 없습니다. 예를 들어, new T()
와 같은 형태로 인스턴스를 생성할 수 없습니다.
3. static
멤버에 대한 참조 불가
제네릭 타입은 static
멤버에 대한 참조를 할 수 없습니다. 예를 들어, T.staticMember
와 같이 static
멤버에 대한 참조를 할 수 없습니다.
이러한 제약 사항들을 고려하여 자바 제네릭을 사용하면서 타입 안정성을 유지할 수 있습니다.
참고 자료:
- https://docs.oracle.com/javase/tutorial/java/generics/constraints.html