SuppressWarnings — 경고 억제 애너테이션

SuppressWarnings — 경고 억제 애너테이션

@SuppressWarnings는 애너테이션이 적용된 요소와 그 요소에 포함된 모든 요소에서 컴파일 타임에 억제할 경고를 나타내요. SuppressWarnings 애너테이션 인터페이스는 모든 선언 문맥에 적용 가능하므로, @SuppressWarnings 애너테이션은 어떤 요소에도 사용할 수 있어요. 스타일상 프로그래머는 항상 이 애너테이션이 효과를 발휘하는 가장 깊이 중첩된 요소에 사용해야 해요. 예를 들어 특정 메서드에서 경고를 억제하려면 그 클래스가 아니라 해당 메서드에 애너테이션을 붙여야 해요. 주어진 요소에서 억제되는 경고 집합은 모든 포함 요소에서 억제되는 경고의 합집합이에요.

출처: Java API Reference

본문

String[] value — 컴파일러가 억제할 경고의 이름 집합을 나타내는 요소예요. 허용되는 값은 컴파일러에 따라 정해지며, 예를 들어 "unchecked", "deprecation", "rawtypes", "serial" 등이 있어요. 적용 가능한 컨텍스트: 클래스, 필드, 메서드, 파라미터, 생성자, 로컬 변수, 모듈 등 모든 선언 문맥.

이 애너테이션은 억제하는 경고가 실제로 존재할 때만 효과가 있으며, 존재하지 않는 경고를 억제하는 것은 권장되지 않아요. @SuppressWarnings("unchecked")는 제네릭 타입 검사 관련 경고를, @SuppressWarnings("deprecation")은 사용 중지된 API 사용 경고를 억제해요.

더 알아보기 (Learn more)