brunch

You can make anything
by writing

C.S.Lewis

by 이승현 Apr 23. 2018

제네릭(Generics)

#24 컴파일 경고 메시지가 없게 하자

Effective Java - 제네릭(Generics)


#24 컴파일 경고 메시지가 없게 하자


제목 그대로 컴파일 경고 메시지를 없애자는 내용인데, 당연한 얘기입니다.


제네릭을 이용하다 보면 unchecked 캐스트 경고, 변환 경고, 메서드 호출 경고 등 다양한 컴파일 경고 메시지들을 보게 됩니다.

이러한 경고 메시지를 없애는 방법에 대해 알아보겠습니다.




@SuppressWarning


아래 코드를 보면 Unchecked 경고 메시지가 발생한 코드와 이를 수정한 코드가 있습니다.

이러한 경고 메시지들을 없애면, 코드의 타입 안전이 보장되므로 ClassCastException 런타임 에러가 발생하지 않습니다.

#01 Unchecked 경고 메시지


간단하게 수정이 가능한 것도 있지만, 일부 경고 메시지는 수정이 불가능할 수 도 있습니다.

#02 Unchecked 경고 메시지


만약 경고 메시지를 유발한 코드가 타입 안전을 보장한다면 @SuppressWarning("unchecked") 주석을 통해 경고 메시지가 안 나타나게 할 수 있습니다.


SuppressWarning 주석은 지역 변수부터 클래스까지 다양한 범위에 이용할 수 있는데, 가급적이면 제일 작은 범위인 지역 변수로 이용하는 게 좋습니다.


아래 코드를 보면, 지역 변수에 SuppressWarning 주석을 추가해, 경고 메시지를 없애 버렸습니다.

그리고 SuppressWarning 주석을 추가할 때는 그 이유에 대한 내용도 별도로 주석으로 추가해야 합니다.

#03 @SuppressWarning



매거진의 이전글 제네릭(Generics)
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari