Effective Java를 읽고 정리한 정리본입니다.

📌 Item 27 : 비검사 경고를 제거해라

🫧 비검사 경고

비검사 경고는 컴파일러가 타입 안정성을 확인하는데 필요한 정보가 충분치 않을 때 발생시키는 경고이다.

할 수 있는 한 모든 비검사 경고를 제거한다면 그 코드는 타입 안전성이 보장되고, 이는 런타임에 ClassCastException이 발생될 일이 없음을 의미한다.

그러나 모든 비검사 경고를 제거하기는 어려운 법이다. 만일 경고를 제거할 수 없지만 타입 안전하다고 확신하는 경우 @Suppress Warinings(“unchecked”) 에너테이션을 달아 경고를 숨기자.

🫧 @SuppressWarnings

이 에너테이션은 개별 지역변수 선언부터 클래스 전체까지 어떤 선언에도 달 수 있다.

그렇지만 자칫 심각한 경고를 놓칠 수 있으므로 항상 가능한 한 좁은 범위에 적용하자.

여기서 말하는 좁은 범위의 적용은 변수 선언, 아주 짧은 메서드, 혹은 생성자를 의미한다.

또한 이 애너테이션을 사용할 때는 그 경고를 무시해도 안전한 이유를 항상 주석으로 남겨놓아야 한다.

다른 사람이 그 코드를 이해하는 데 도움이 되며, 더 중요하게는, 다른 사람이 그 코드를 잘못 수정하여 타입 안전성을 잃는 상황을 줄여주기 때문이다.

🫧 참고 자료

Item27. 비검사 경고를 제거해라_개인룸/도윤:티스토리