본문 바로가기
공부중/자바스프링

@SupperessWarnings 어노테이션

by 식빵ee 2024. 4. 2.

처음보는 어노테이션 @SuppressWarnings("unchecked") 이 있어서 정리해봄

 

@SuppressWarnings 어노테이션은 컴파일 경고를 사용하지 않도록 설정해주는 것으로 한마디로 이클립스에서 노란색 표시줄이 나타내는 것 즉, 경고를 제외시킬 때 사용한다.

또한, 두 가지의 종류를 같이 사용할 때는 @SuppressWarnings({"unused", "unchecked"})처럼 객체 형식으로 묶어서 사용한다.

 

@SuppressWarnings("unused")

사용하지 않는 코드 또는 불필요한 코드가 있을 경우 경고를 억제시켜 준다. 

 

@SuppressWarnings("serial") 

SuppressWarnings("serial")은 Spring에서 개발하다 보면 VO(Value Object)에 implements Serializable과 같은 인터페이스를 구현한 것을 본적이 자주 있을 것이다.

 public class Member implements Serializable{

      private static final long serialVersionUID = 1L;
      private String memberId;
      private String memberPass;
      private String memberEmail;
      ...
  }

위 상황에서 serialVersionUID를 누락시키면 노란색으로 경고가 나타나는데 이를 억제해주기 위해서 @SuppressWarnings("serial") 를 사용한다.

하지만 @SuppressWarnings("serial") 을 사용하는 것은 권장하고 있지 않기 때문에 serialVersionUID를 명시적으로 선언하여 처리하는 것이 좋다.

Java에서 serialVersionUID를 명시적으로 선언하는 방법은 간단한데 클래스 내에서 serialVersionUID 필드를 선언하고 값을 할당하면 됩니다. serialVersionUID는 long 타입이어야 한다.

public class MyClass implements Serializable {
    private static final long serialVersionUID = 123456789L; // 명시적으로 선언된 serialVersionUID

    // 클래스 내용...
}

이렇게 하면 클래스의 내용이 변경되어도 serialVersionUID가 변하지 않아 버전 충돌을 방지할 수 있다.

 

@SuppressWarnings("all")

@SuppressWarnings("all")은 모든 경고를 억제시켜준다.

 

@SuppressWarnings("deprecation")

@SuppressWarnings("deprecation") 권장되지 않는 기능과 관련된 경고를 억제한다.

 

@SuppressWarnings("null") 널은 분석과 관련된 경고를 억제한다.

 

@SuppressWarnings("unchecked") 미확인 오퍼레이션과 관련한 경고를 억제한다.

 

 

출처 : https://haranglog.tistory.com/3

'공부중 > 자바스프링' 카테고리의 다른 글

어플리케이션 서버 구조  (0) 2024.04.04
RESTful API 모듈  (0) 2024.04.04
리팩토링(Refactoring)이란  (0) 2024.03.15
전자정부프레임워크  (0) 2024.03.11
GetMapping 과 PostMapping  (0) 2023.12.18

댓글


post image post image post image post image post image post image post image post image