개발자 항해
인터페이스(interface) - 3 본문
3) 인터페이스 장점 - 상속 관계가 없는 객체끼리의 관계 부여하여 다형성 활용가능
① 상속 관계가 아닐 경우 불편한 예
HandPhone 클래스와 DigitalCamera는 특정 클래스와 상속관계가 아니므로
두 클래스의 유일한 공통 클래스는 Object 클래스 뿐이다.
따라서, 업캐스팅을 통해 다형성을 적용하려면 Object 타입으로 업캐스팅해야 하며
업캐스팅 후에는 두 객체의 고유 멤버 접근이 불가능하므로
다시 다운캐스팅을 통해 각 객체의 고유 멤버에 접근해야한다.
② 인터페이스를 통해 상속관계가 아닌 클래스끼리 상속 관계 부여
HandPhone2 클래스와 DigitalCamera2는 특정 클래스와 상속 관계가 아니지만
두 클래스와 유일한 공통클래스는 Object 클래스 외에
Charable 인터페이스를 정의하여 공통 부모로 정의 하면
업캐스팅 후에소 두 객체의 고유 멤버인 charge() 메서드가
인터페이스 내의 추상메서드로 정의되어있기 때문에 타입판별없이, 다운캐스팅 없이도 공통 메서드 호출이
가능하다.
'Programming > Java' 카테고리의 다른 글
인터페이스(interface) - 4 (0) | 2022.08.02 |
---|---|
인터페이스(interface) - 2 (0) | 2022.07.29 |
인터페이스(interface) - 1 (0) | 2022.07.29 |
추상 메서드 (Abstract Method)와 추상 클래스(Abstract Class) (0) | 2022.07.27 |
싱글톤(singleton) (0) | 2022.07.22 |