3.1.5 인터페이스 확장
인터페이스는 또 다른 인터페이스를 확장(extend)해서 원래 있던 메서드 외의 추가 메서드를 요구하거나 제공할 수 있다. 예를 들어 Closeable은 메서드가 한 개만 있는 인터페이스다.
public interface Closeable {
void close();
}
5장 예외, 단정, 로깅에서 알아보겠지만, Closeable은 예외가 일어날 때 리소스를 닫는 중요한 인터페이스다.
Channel 인터페이스는 Closeable 인터페이스를 확장한다.
public interface Channel extends Closeable {
boolean isOpen();
}
Channel 인터페이스를 구현하는 클래스는 두 메서드를 모두 구현해야 하며, 두 인터페이스 타입 중 어느 것으로든 해당 클래스의 객체를 변환할 수 있다.