다형성의 사전적 정의는, 같은 종의 생물이면서도 어떤 형태나 형질이 다양하게 나타나는 현상이다.
다형성은 자바의 대표적인 특징이라고 볼 수 있다.
자바에서 다형성은 주로 오버라이딩, 오버로딩으로 구현된다.
같은 자료형에 여러가지 타입의 데이터를 대입!
1. 하나의 타입에 여러 가지 객체를 담을 수 있다.
Phone phone = new Phone();
Phone phone = new Galaxy();
+ Phone은 iPhone도 담을 수 있다.
2. 하나의 객체를 여러 가지 타입에 담을 수 있다.
Phone phone = new Galaxy();
Galaxy phone = new Galaxy();
+ 인터페이스를 여러 개 구현한다 ex) implements A, B
정답은 둘 다
자바는 자료형(타입) 변환뿐만 아니라 클래스의 객체 타입 변환이 가능하다.
클래스 자동 타입 변환
객체 instanceof 타입(클래스명): instanceof 기준 왼쪽 객체가 생성될 때 오른쪽 타입으로 생성되었는지 확인하는 연산자