핵심 정리: 마커 인터페이스 VS 마커 애너테이션
마커 애너테이션 보다 마커 인터페이스가 좋은 이유
- 마커 인터페이스는 이를 구현한 클래스의 인스턴스를 구분하는 타입으로 사용할
수 있다. 예) Serializable 인터페이스
- 해당 인터페이스를 받아서 부가적인 기능을 추가한다면
- 마커 인터페이스는 적용 대상을 더 정밀하게 지정할 수 있다.
- 컴파일 타입에 무엇인가를 검사하거나 런타임에 리플렉션으로 읽어와서 부가적인 정보를 추출하는 경우에는 사용
마커 애너테이션은 거대한 애너테이션 시스템의 지원을 받을 수 있다.
“이 마킹이 된 객체를 매개변수로 받는 메서드를 작성할 일이 있을까?”