티스토리 뷰
주의 사항!
- 이 글은 제가 직접 공부하는 중에 작성되고 있습니다.
- 따라서 제가 이해하는 그대로의 내용이 포함됩니다.
- 따라서 이 글은 사실과는 다른 내용이 포함될 수 있습니다.
인터페이스도 다른 인터페이스를 상속할 수 있습니다. 인터페이스는 클래스와는 달리 다중 상속을 허용합니다. 다음과 같이 extends 키워드 뒤에 상속할 인터페이스들을 나열할 수 있습니다.
public interface 하위인터페이스이름 extends 상위인터페이스이름1, 상위인터페이스이름2 { ... }
하위 인터페이스를 구현하는 클래스는 하위 인터페이스의 메서드뿐만 아니라 상위 인터페이스의 모든 추상 메서드에 대한 실체 메서드를 가지고 있어야 합니다. 그렇기 때문에 구현 클래스로부터 객체를 생성하고 나서 다음과 같이 하위 및 상위 인터페이스 타입으로 변환이 가능합니다.
하위인터페이스이름 변수명1 = new 구현클래스이름(...);
상위인터페이스이름1 변수명2 = new 구현클래스이름(...);
상위인터페이스이름2 변수명3 = new 구현클래스이름(...);
하위 인터페이스로 타입 변환되면 상위 인터페이스에 선언된 모든 메서드들도 사용할 수 있지만, 상위 인터페이스로 타입 변환되면 하위 인터페이스에 선언된 메서드는 사용할 수 없습니다.
상속의 대상이 인터페이스일 뿐이지 상속이라는 개념은 인터페이스를 대상으로 하나 클래스를 대상으로 하나 동일하게 적용된다고 생각하면 편합니다.
'공부 일지 > JAVA 공부 일지' 카테고리의 다른 글
자바, 중첩 클래스와 중첩 인터페이스란? (0) | 2021.04.11 |
---|---|
자바, 디폴트 메서드와 인터페이스 확장 (0) | 2021.04.11 |
자바, 인터페이스 타입 변환과 다형성 (0) | 2021.04.11 |
자바, 인터페이스 (0) | 2021.04.11 |
자바, 추상 클래스 (0) | 2021.04.08 |