코딩/Java

자바 인터페이스와 다형성

 

특정한 인터페이스를 구현하고 있는 클래스가 있을 때 이 클래스의 데이터 타입으로 인터페이스를 지정가능

위의 코드를 통해서 알 수 있는 것은 클래스 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