본문 바로가기

개발이야기/Effective Java

[Effective Java]무점검 경고(unchecked warning)를 제거하라

제네릭으로 프로그램하다보면 많은 컴파일러 경고메시지를 보게 된다. 아래가 그러한 경고이다.

  • 무점검 형변환 경고(unchecked cast warning)
  • 무점검 메서드 호출 경고(unchecked method invocation warning)
  • 무점검 제네릭 배열 생성 경고(unchecked generic array creation warning)
  • 무점검 변환 경고(unchecked conversion warning)
  • etc...
제네릭에 대한 경험이 많고 코드에 대한 경험이 많다면 경고메시지가 줄어들지만 아직도 많은 제네릭 코드들이 경고메시지를 날리고 있다. 이러한 경고메시지를 제거하기 위해서 @SupressWarnings("unchecked") 어노테이션(annotation)을 사용해 억제한다.

하지만 @SupressWarnings("unchecked") 어노테이션(annotation)은 개별 지역변수 선언부터 클래스 전체에까지, 어떤 크기의 단위에도 적용할 수 있어서 중요한 경고 메시지를 놓치게 될 수 있으므로, 가능한한 작은 범위에 적용해야한다.

또한 @SupressWarnings("unchecked") 어노테이션(annotation)을 사용할 때 마다, 왜 형 안전성을 위반하지 않는지 밝히는 주석을 붙여 다른 사람이 코드를 쉽게 이해할 수 있도록 도와야 한다.

End of Document


태그