Study/Effective-Java
[item#27] 비검사 경고를 제거하라
728x90
반응형
- 비검사(unchecked)경고 란?
- 컴파일러가 타입 안정성을 확인하는데 필요한 정보가 충분치 않을 때 발생시키는 경고(컴파일은 됨)
- 할 수 있는 한 모든 비검사 경고를 제거하라
- 경고를 제거할 수 없지만 안전하다고 확신한다면 @SuppressWarnings("unchecked") 애노테이션을 달아 경고를 숨기자
- @SuppressWarnings 애너테이션은 항상 가능한 좁은 범위에 적용하자
- @SuppressWarnings("unchecked") 애너테이션을 사용할 때면 그 경고를 무시해도 안전한 이유를 항상 주석으로 남겨야 한다.
가능한 좁게
자바 애너테이션을 정의하는 방법
- @Retention : 애너테이션의 정보를 얼마나 오래 유지할 것인다.
- Runtime, Source, Class
- @Target : 애너테이션을 사용할 수 있는 위치
- Type, Field, Method, Parameter ...
- @Documented : 자바독에 포함이 된다.
Retention
Runtime이 default,
Class : Runtime이 아니기 때문에 Reflection으로도 가져올 수 없음.
Source : Byte code로도 참조 불가능 - 소스 코드의 이해를 위해 씀
Target
Type을 가장 많이 씀(class Type, Interface Type ... ) - method위에 선언 불가.
Method : method위에 선언 가능
728x90
반응형
'Study > Effective-Java' 카테고리의 다른 글
[item#29] 이왕이면 제네릭 타입으로 만들라 (0) | 2023.11.30 |
---|---|
[item#28] 배열보다는 리스트를 사용하라 (0) | 2023.11.30 |
[item#26] 로(raw) 타입은 사용하지 말라 (0) | 2023.11.30 |
[item#25] 톱레벨 클래스는 한 파일에 하나만 담으라 (0) | 2023.11.30 |
[item#24] 멤버 클래스는 되도록 static으로 만들라 (0) | 2023.11.30 |
댓글