이펙티브자바 아이템41
-
아이템41. 정의하려는 것이 타입이라면 마커 인터페이스를 사용하라책/이펙티브자바 2021. 8. 31. 13:59
아무 메서드도 담고 있지 않고, 단지 자신을 구현하는 클래스가 특정 속성을 가짐을 표시해주는 인터페이스를 마커 인터페이스 (marker interface)라 한다. ex. Cloneable, Serializable // 그냥 비어있음. public interface Serializable { } 마커 애너테이션의 예 ex. @Override, @FunctionalInterface, @SafeVarargs, @Native Serializable 은 자신을 구현한 클래스의 인스턴스는 ObjectOutputStream 을 통해 쓸수(write) 있다고, 즉 직렬화(serialization) 할 수 있다고 알려준다. 마커 인터페이스는 두 가지 면에서 마커 애너테이션보다 낫다. 마커 인터페이스는 이를 구현한 클래..