티스토리 뷰

주의 사항!

  • 이 글은 제가 직접 공부하는 중에 작성되고 있습니다.
  • 따라서 제가 이해하는 그대로의 내용이 포함됩니다.
  • 따라서 이 글은 사실과는 다른 내용이 포함될 수 있습니다.


인터페이스도 다른 인터페이스를 상속할 수 있습니다. 인터페이스는 클래스와는 달리 다중 상속을 허용합니다. 다음과 같이 extends 키워드 뒤에 상속할 인터페이스들을 나열할 수 있습니다.

public interface 하위인터페이스이름 extends 상위인터페이스이름1, 상위인터페이스이름2 { ... }

하위 인터페이스를 구현하는 클래스는 하위 인터페이스의 메서드뿐만 아니라 상위 인터페이스의 모든 추상 메서드에 대한 실체 메서드를 가지고 있어야 합니다. 그렇기 때문에 구현 클래스로부터 객체를 생성하고 나서 다음과 같이 하위 및 상위 인터페이스 타입으로 변환이 가능합니다.

하위인터페이스이름 변수명1 = new 구현클래스이름(...);
상위인터페이스이름1 변수명2 = new 구현클래스이름(...);
상위인터페이스이름2 변수명3 = new 구현클래스이름(...);

하위 인터페이스로 타입 변환되면 상위 인터페이스에 선언된 모든 메서드들도 사용할 수 있지만, 상위 인터페이스로 타입 변환되면 하위 인터페이스에 선언된 메서드는 사용할 수 없습니다. 

 

상속의 대상이 인터페이스일 뿐이지 상속이라는 개념은 인터페이스를 대상으로 하나 클래스를 대상으로 하나 동일하게 적용된다고 생각하면 편합니다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함