Java에서 대표적인 Marker Interface는 Cloneable, Serializable, RandomAccess이 있다.
Marker Interface란 변수나 메서드가 선언되어있지않은 interface이다
package java.io;
public interface Serializable {
}
Cloneable Interface
자바에서 해당 인스턴스를 복사해서 쓰고싶은경우 marker interface를 구현하여 사용하자고 약속한것이다.
Serializable Interface
생성한 객체를 파일로 저장할수도 있고, 저장한 객체를 읽을 일도 있을것이다. 이때 구현해야하는 인터페이스가 해당 interface이다.
이 인터페이스를 구현하면 JVM이 해당 객체를 저장하거나 다른 서버(컴퓨터)로 전송할 수 있도록 해준다.
RandomAccess Interface
랜덤 또는 순차적으로 접근하는 알고리즘을 사용할때 우수한 선능을 제공하도록 동작을 변경할 수 있는 Marker Interface다.
이런 인터페이스들을 Marker Interface라고 한다.