실행결과 모든 기능이 잘 실행됩니다.
• 참조 변수의 타입으로 인터페이스를 사용할 수 있다.
• 인터페이스가 가진 메서드만 사용할 수 있다.
라는 사실을 잘 기억해두세요. 이는 상속에서 사용한 개념과 같습니다. TV 인터페이스는 타입이 될 수 있지만 TV가 가진 기능만 사용할 수 있습니다. 만약 LedTV가 TV 인터페이스에 없는 기능을 확장해 사용하고 싶다면 어떻게 해야 할까요? 클래스 형변환을 이용하면 됩니다.
TV 인터페이스를 사용한다는 것은, TV 인터페이스를 구현하고 있는 클래스의 인스턴스를 모두 사용할 수 있다는 것을 의미합니다. TV 인터페이스를 구현하는 LcdTV 클래스를 만들었다면 다음과 같이 사용할 수 있습니다.
TV tv = new LcdTV();
같은 인터페이스를 구현한다는 것은 클래스 사용법이 똑같다는 의미입니다. 이것이 인터페이스를 사용하는 중요한 이유입니다. 참고로 클래스는 1개 이상 인터페이스를 구현할 수 있습니다.