다형성 : 조상 타입 참조 변수로, 자손 타입 객체를 다루는 것
자손 = (형변환 생략 불가 : 멤버수가 많게되는건 생략불가능)조상
조상 = (형변환 생략 가능 : 멤버수가 적게되는건 생략가능) 자손
겉형변환?에 속지말기 : 실제 인스턴스가 무엇인가를 봐야함
instanceof 연산자 : 형변환전에 확인하는용으로 '반드시' 확인해야함
true = 조상이기에 형변환이 가능
다형성의 장점
1. 다형적 매개변수 - 조상타입의 참조변수를 사용해서 하나의 메소드로 여러타입의 객체를 받을 수 있는
2. 하나의 배열에 여러 종류의 객체 저장가능
추상클래스 : 추상메서드가 있는 클래스
-다른 클래스 작성에 도움을 주기 위한 것. 인스턴스 생성불가(미완성된 설계도이기때문)
-상속을 통해 추상 메서드를 완성해야 인스턴스 생성가능
-여러 클래스에서 공통으로 사용되는 부분을 뽑아 추상화
추상메서드 : 몸통이 없는 메서드
인터페이스 : 추상메서드의 집합 (vs 추상클래스 : 추상메서드 + iv)
매개변수에 인터페이스
인터페이스를 이용한 다형성
인터페이스의 장점
-두 객체간의 중간역할
-선언과 구현을 분리시킬수 있게 한다.(느슨한 결합)
-개발시간을 단축할 수 있다.
-변경에 유리한 설계
-서로 관계없는 클래스들의 관계를 맺어줄 수 있다