JAVA
[JAVA] Spring 어노테이션 @SuppressWarnings 이란?
미로그
2024. 7. 30. 21:10
@SuppressWarnings 이란?
- 컴파일 경고를 사용하지 않도록 설정해주는 것으로
- 이클립스에서 노란색 표시줄이 나타날 때 해당 어노테이션을 사용함으로 노란줄을 없앨 수 있다.
- 즉, 경고를 제외시킬 때 사용한다.
(= 컴파일러가 경고하는 내용 중 "이 내용은 경고하지마"라며 제외 할 때 사용 하는 것)
+ 이클립스에서 노란색 표시줄이 나타나는 이유?
1. 변수 선언 하였지만 사용하지 않았을 때
2. 스크립트나 구문이 버전이 맞지 않을 때
3. 버그를 발생할 수 있는 코드나 권장하지 않는 코딩을 할 때
그 외 문법상의 문제가 없는 경우에도 불구하고 나타날때도 있다.
@SuppressWarnings 사용방법 및 경고 타입 종류 정리
사용방법
다음과 같이 어노테이션 안에 문자열로 억제시키고 싶은 경고 타입을 넣어주면 된다.
@SuppressWarnings("unused")
public void HelloJava(){
String s;
}
타입종류
토큰 | 설명 |
all | 모든 경고를 억제합니다. |
boxing boxing/unboxing | 오퍼레이션과 관련된 경고를 억제합니다. |
cast | 캐스트 오퍼레이션과 관련된 경고를 억제합니다. |
dep-ann | 권장되지 않는 어노테이션과 관련된 경고를 억제합니다. |
deprecation | 권장되지 않는 기능과 관련된 경고를 억제합니다. |
fallthrough | switch 문에서 누락된 break 문과 관련된 경고를 억제합니다. |
finally | 리턴되지 않는 마지막 블록과 관련된 경고를 억제합니다. |
hiding | 변수를 숨기는 로컬과 관련된 경고를 억제합니다. |
incomplete-switch | switch 문에서 누락된 항목과 관련된 경고를 억제합니다(enum case). |
javadoc | javadoc 경고와 관련된 경고를 억제합니다. |
null | 널(null) 분석과 관련된 경고를 억제합니다. |
rawtypes | 원시 유형 사용법과 관련된 경고를 억제합니다. |
restriction | 올바르지 않거나 금지된 참조 사용법과 관련된 경고를 억제합니다. |
resource | 닫기 가능 유형의 자원 사용에 관련된 경고 억제 |
serial | 직렬화 가능 클래스에 대한 누락된 serialVersionUID 필드와 관련된 경고를 억제합니다. |
static-access | 잘못된 정적 액세스와 관련된 경고를 억제합니다. |
static-method | static으로 선언될 수 있는 메소드와 관련된 경고를 억제합니다. |
super | 수퍼 호출을 사용하지 않는 메소드 겹쳐쓰기와 관련된 경고를 억제합니다. |
synthetic-access | 내부 클래스로부터의 최적화되지 않은 액세스와 관련된 경고를 억제합니다. |
sync-override | 동기화된 메소드를 오버라이드하는 경우 누락된 동기화로 인한 경고 억제 |
unchecked | 미확인 오퍼레이션과 관련된 경고를 억제합니다. |
unqualified-field-access | 규정되지 않은 필드 액세스와 관련된 경고를 억제합니다. |
unused | 사용하지 않은 코드 및 불필요한 코드와 관련된 경고를 억제합니다. |
Reference
https://haranglog.tistory.com/3
https://ktko.tistory.com/entry/Java%EC%9D%98-SuppressWarnings-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0