본문 바로가기

JAVA

[JAVA] Spring 어노테이션 @SuppressWarnings 이란?

@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

 

'JAVA' 카테고리의 다른 글

[JAVA] 제너릭이란?  (0) 2024.08.24
[JAVA] Inner Class 란?(내부 클래스)  (0) 2024.07.30
[JAVA] Map을 구현하는 클래스 종류  (0) 2024.05.19
[JAVA] MAP과 HASH MAP의 차이?  (0) 2024.05.19
[JAVA] Maven 이란?  (0) 2024.05.19