어노테이션 종류
@SuppressWarnings
컴파일러 경고(Warning)를 무시하도록 지시하는 어노테이션
자바 컴파일러는 코드에서 잠재적인 위험이나 불필요한 부분을 발견하면 경고를 띄운다.
그런데 개발자가 일부러 그렇게 작성한 코드라면,
그 경고를 "무시하라"는 의미로 @SuppressWarnings를 쓴다.
기본 문법
@SuppressWarnings("경고이름")
예를 들어:
@SuppressWarnings("unchecked")
List<String> list = new ArrayList();
list.add("hi");
➡️ 원래는 new ArrayList()에서 제네릭 타입이 빠져서 경고가 나와야 하지만
@SuppressWarnings("unchecked")를 붙이면 경고를 무시
🔹 자주 쓰는 종류
경고 이름 설명
| "unchecked" | 제네릭 형변환 관련 경고 (ex: List → List<String>) |
| "deprecation" | 더 이상 사용되지 않는 API (@Deprecated) 경고 무시 |
| "rawtypes" | 제네릭 타입을 지정하지 않은 raw type 사용 경고 |
| "unused" | 사용하지 않는 변수/메서드 경고 무시 |
| "all" | 모든 경고 무시 (비추천 ⚠️) |
🔹 사용 예시
public class Example {
@SuppressWarnings("unused")
private void test() {
int x = 10; // 사용되지 않지만 경고 무시됨
}
@SuppressWarnings({"rawtypes", "unchecked"})
public void legacyMethod() {
List list = new ArrayList(); // raw type
list.add("Hello");
}
}
🔹 주의할 점
- @SuppressWarnings("all")은 남용하지 말 것. (디버깅 시 문제 추적이 어려워짐)
✅ 요약
항목 의미
| 역할 | 컴파일 경고를 무시하도록 지시 |
| 사용 위치 | 클래스, 메서드, 변수, 생성자 등 |
| 대표 예시 | "unchecked", "deprecation", "unused" |
| 주의점 | 남용 금지, 꼭 이유 있는 경우만 사용 |
@unused 사용 자주하는데 이는 사용하지 않는 변수 /메서드 경고를 무시한다.
'JAVA' 카테고리의 다른 글
| Logger , LoggerFactory 를 사용하는 이유 (0) | 2025.11.12 |
|---|---|
| @Configuration 과 xml 과 yml 설정 파일의 차이 (1) | 2025.11.12 |
| JDK, JRE ,JVM (0) | 2025.08.28 |
| JAR 와 WAR 의 차이 (0) | 2025.08.28 |
| static (0) | 2025.08.19 |