정의하려는 것이 타입이라면 마커 인터페이스를 사용하라

언어/JAVA

[Effective Java] 정의하려는 것이 타입이라면 마커 인터페이스를 사용하라

아이템 41 : 정의하려는 것이 타입이라면 마커 인터페이스를 사용하라 아무 메서드도 담고 있지 않고, 단지 자신을 구현하는 클래스가 특정 속성을 가짐을 표시해주는 인터페이스를 마커 인터페이스라 한다. 마커 애너테이션이 등장하면서 마커 인터페이스는 구식이 되었다는 이야기를 들어보았을 것이다. 하지만 사실이 아니다. 마커 인터페이스는 두 가지 면에서 마커 애너테이션보다 낫다. 첫 번째, 마커 인터페이스는 이를 구현한 클래스의 인스턴스들을 구분하는 타입으로 쓸 수 있으나, 마커 애너테이션은 그렇지 않다. 마커 인터페이스는 어엿한 타입이기 때문에, 마커 애너테이션을 사용했다면 런타임에야 발견될 오류를 컴파일타임에 잡을 수 있다. 두 번째, 적용 대상을 더 정밀하게 지정할 수 있다는 것이다. 반대로 마커 애너테이..

지나가던 개발자
'정의하려는 것이 타입이라면 마커 인터페이스를 사용하라' 태그의 글 목록