728x90
반응형
SMALL
The type parameter T should not be bounded by the final type Integer. Final types cannot be further extended
유형 매개변수 T는 최종 유형 Integer에 의해 제한되어서는 안 됩니다. 최종 유형은 더 이상 확장할 수 없습니다.
자바에서 제네릭 클래스를 만들 때 <T extends Integer>를 했을 때 발생한 경고메시지다. 타입 매개변수에 extends 키워드를 사용할 때 확장이 가능한 클래스를 사용해야한다. 하지만 Integer는 final로 선언되어 있으므로 확장이 불가능하기 때문에 타입매개변수로 사용하려고 할 때 경고메시지가 출력된다.
만약 Integer로 해도 동작은 되지만 이렇게 했을 경우 제네릭을 사용하는 의미가 없어진다. 왜냐 제네릭은 클래스 또는 메소드에서 사용되는 다양한 데이터타입을 일반화 시켜서 정의하는 방법인데 Integer로 해버리는 순간 이 방법이 적용이 안되기 때문이다. 그래서 Number처럼 final로 선언되어 있지 않은 확장이 가능한 클래스로 변경해야한다.
728x90
반응형
LIST
'Java' 카테고리의 다른 글
[JAVA] 자바 - 제네릭 메서드 활용하기 (1) | 2025.02.20 |
---|---|
[JAVA] 자바 - 무엇이든 담을 수 있는 제네릭(Generic) 프로그래밍 (0) | 2025.02.20 |
[JAVA] 자바 - 제네릭의 기본 문법 (0) | 2025.02.20 |
[JAVA] File클래스 (0) | 2025.02.18 |
[JAVA] 자바 OutputStream(바이트 단위 스트림) (0) | 2025.02.17 |