특정한 인터페이스를 구현하고 있는 클래스가 있을 때 이 클래스의 데이터 타입으로 인터페이스를 지정가능
위의 코드를 통해서 알 수 있는 것은 클래스 C의 데이터 타입으로 인터페이스 I가 될 수 있다는 점이다.
이것은 다중 상속이 지원되는 인터페이스의 특징과 결합해서 상속과는 다른 양상의 효과를 만들어낸다.
클래스가 가지고 있는 모든 기능을 사용해야 된다면 D처럼 데이터 타입을 D로 지정 해 인스턴스화
클래스의 여러가지 기능중에서 특정한 인터페이스의 기능만 사용한다고 한다면 타입을 인터페이스명으로
하면 그 기능에만 집중할 수 있도록 할 수 있다.
비유
사람은 다면적인 존재다 steve라는 사람은 집에서 아버지이고 직업적으로는 프로그래머
또 종교단체 내에서는 신도가 될 수 있다. 하나의 사람이지만 누구와 관계하는가에
따라서 아버지이면서 프로그래머이고 또 신도인 것이다.
아래는 비유의 코드이다.
위의 코드와 같이 스티브를 고용한 회사 입장에서 스티브가 father인지 belliver인지 모른다.
프로그래머를 쓰는 입장에서 프로그래머만을 (기능) 집중할 수 있다.
'코딩 > Java' 카테고리의 다른 글
자바 예외 다중캐치 (0) | 2020.12.29 |
---|---|
자바 예외 (0) | 2020.12.27 |
자바 클래스와 다형성 (0) | 2020.12.26 |
자바 다형성 (0) | 2020.12.26 |
자바 interface (0) | 2020.12.24 |