-
아이템 27. 비검사 경고를 제거하라Java/이펙티브 자바 2023. 9. 21. 10:30
핵심 정리
- "비검사 (unchecked) 경고" 란?
ㆍ컴파일러가 타입 안정성을 확인하는데 필요한 정보가 충분치 않을 때 발생시키는 경고
public static void main(String[] args) { Set names = new HashSet<>(); Set<String> strings = new HashSet(); }
- 할 수 있는 한 모든 비검사 경고를 제거하라.
- 경고를 제거할 수 없지만 안전하다고 확신한다면 @SuppressWarnings("unchecked") 애노테이션을 달아 경고를 숨기자
- @SuppressWarnings 애노테이션은 항상 가능한 한 좁은 범위에 적용하자.
- @SuppressWarnings("unchecked") 애노테이션을 사용할 때면 그 경고를 무시해도 안전한 이유를 항상 주석을 남겨야 한다.
완벽 공략 - 애너테이션
: 자바 애너테이션을 정의하는 방법
- @Retention : 애노테이션의 정보를 얼마나 오래 유지할 것인가
ㆍRuntime, Class, Source
- @Target : 애노테이션을 사용할 수 있는 위치
ㆍType, Field, Method, Parameter ...
@Documented // java doc 정보에 들어감. @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.TYPE, ElementType.METHOD}) public @interface MyAnnotation { }
'Java > 이펙티브 자바' 카테고리의 다른 글
아이템29 & 아이템30 (0) 2023.09.28 아이템28. 배열보다는 리스트를 사용하라 (0) 2023.09.23 아이템26. 로 타입은 사용하지 말라. (0) 2023.09.18 아이템 22 & 아이템 23 & 아이템 24 & 아이템 25 (0) 2023.09.07 아이템21. 인터페이스는 구현하는 쪽에서 생각해 설계하라. (0) 2023.09.05