다향성

하나의 타입에 대입되는 객체에 따라 실행 결과가 다양한 형태로 나옴 -> 상속, 인터페이스


- 자동 타입 변환(Promotion) : 구현 객체가 인터페이스 타입으로 변환되는 것  ex) 인터페이스 변수 = 구현 객체;

- 필드의 다형성 : 인터페이스:Tire
  Tire 구현 클래스1 Tire 구현 클래스2
    Car c = new Car();
  c.front = new 구현클래스1(); c.back = new 구현클래스2();

 

- 인터페이스 배열로 구현 관리

인터페이스를 배열로 선언하여 사용 가능 -> 각각의 인터페이스를 다른 객체로 선언하여 사용 가능

- 매개 변수의 다향성

매개값을 다양화하기 위해서 상속에서는 매개 변수를 부모 타입으로 선언하고 호출할 때는 자식 객체 대입

 


 

- 강제 타입 변환(casting) 

구현 객체가 인터페이스 타입으로 자동변환하면, 인터페이스에 선언된 메소드만 사용 가능
(상속시 부모에게 있는 메소드만 사용할 수 있는 것과 같은 맥락)

 

- 객체 타입 확인(intsanceof) 

구현 객체가 인터페이스 타입으로 변환되어 있는 경우에만 가능
ex) 인터페이스 a =  new 클래스1(); 클래스2 b = (클래스2) a;

 


 

- 인터페이스 상속

다른 인터페이스 상속 가능, 다중 상속 허용 

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

-> 그럼 상위 1,2의 실체 메소드 구현 클래스에서 정의해줘야함

 

 

 

 



-<이것이 자바다1>. 한빛 미디어

 

'JAVA' 카테고리의 다른 글

중첩 클래스  (0) 2019.06.18
인터페이스 예제  (0) 2019.06.18
인터페이스_1  (0) 2019.06.18
상속 예제_스택(Stack), 큐(Queue)  (0) 2019.06.18
추상화 예제  (0) 2019.06.18

+ Recent posts