Java/이펙티브 자바
아이템 27. 비검사 경고를 제거하라
PHM
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 {
}