Effective Java 27. 비검사 경고를 제거하라

Jung Ho Seo·2020년 7월 29일
0

EffectiveJava

목록 보기
8/35
post-thumbnail

Warning

제네릭을 사용하기 시작하면 수많은 컴파일러 경고를 보게 될 것이다. 비검사 형변환 경고, 비검사 메서드 호출 경고 등등..

가능한한 모든 비검사 경고를 제거한다면 좋다. 모두 제거한다면 그 코드는 타입 안정성이 보장된다. 즉 런타임에 ClassCastException이 발생할 일이 없고 의도대로 동작하리라 확신할 수 있다.

경고를 제거할 수는 없지만 타입 안전에 대한 확신이 있다면 @SuppressWarnings("unchecked") 애너테이션을 달아 경고를 숨기자. 단, 타입 안전함을 검증하지 않은 채 경고를 숨기면 스스로에게 잘못된 보안 인식을 심어주는 꼴이다. 애너테이션을 사용할 때 그 경고를 무시해도 안전한 이유를 주석으로 남겨야한다. 다른사람이 그 코드를 이해하는 데 도움이 되며, 더 중요하게는, 다른 사람이 그 코드를 잘못 수정하여 타입 안정성을 잃는 상황을 줄여준다.

profile
책, 글, 개발

0개의 댓글