Parent와 Child의 관계를 생각해보면,
Parent가 Child보다 일반적인 개념Child가 Parent보다 기능 이 더 많습니다.Child는 Child형 이면서 동시에 Parent 형이기도 합니다.
Child 클래스로 인스턴스를 생성할 때 이 인스턴스의 자료형을 Parent 형으로 클래스 형 변환하여 선언할 수 있습니다. 왜냐하면 Child 클래스는 Parent 클래스를 상속받았기 때문입니다.클래스형과 클래스의 자료형, 인스턴스형과 인스턴스의 자료형은 모두 비슷한 의미로 사용하는 용어입니다. 이러한 클래스 형 변환을 업캐스팅(upcasting)이라고도 합니다.
하위클래스 객체 → 상위클래스의 자료형으로 자동 형변환(다형성)
public class Ex01 {
public static void main(String[] args) {
Child c = new Child();
Parent p = c;
//A라는 클래스 객체자료형 a라는 변수에 c객체의 주소값대입.
//하위클래스 👉 상위클래스 (업캐스팅)
}
}
선언 및 초기화
public class Ex01 {
public static void main(String[] args) {
Parent p = new Child();
}
}
public class Ex04 {
public static void main(String[] args) {
A ad = new D();
A ac = new C();
//C c = ad; 오류발생
//C c = ac; 오류발생
}
}