Language/Java
참조변수의 형변환// 다형성
원2
2021. 3. 25. 16:07
728x90
반응형
*참조변수의 형변환을 하는 이유 : 멤버의 개수를 조절하기 위한 것이고
*조상 타입으로의 형변환을 생략할 수 있는 이유는 조상타입으로 형변화하면 다룰 수 있는 멤버의 개수가
*줄어들어 항상 안전하기 때문.
*또한 코딩하기 더 쉽다.
class Human {
void speak () {
System.out.println("여기는 조상클래스");
}
}
class Hong extends Human {
void speak () {
System.out.println("Hong");
}
}
class Kang extends Human {
void speak () {
System.out.println("Kang");
}
}
class Kim extends Human {
void speak () {
System.out.println("Kim");
}
}
public class Test013 {
public static void main(String[] args) {
Hong aHong = new Hong();
Kang aKang = new Kang();
Kim aKim = new Kim();
aHong.speak();
aKang.speak();
aKim.speak();
Human aHuman1 = new Hong(); // 왜? new에서 객체 참조변수가 Hong 이기 때문에 Hong(); 호출
aHuman1.speak();
Human aHuman2 = new Kang(); // 왜? new에서 객체 참조변수가 Kang 이기 때문에 Kang(); 호출
aHuman2.speak();
Human aHuman3 = new Kim(); // 왜? new에서 객체 참조변수가 Kim 이기 때문에 Kim(); 호출
aHuman3.speak();
/*
*참조변수의 형변환을 하는 이유 : 멤버의 개수를 조절하기 위한 것이고
*조상 타입으로의 형변환을 생략할 수 있는 이유는 조상타입으로 형변화하면 다룰 수 있는 멤버의 개수가
*줄어들어 항상 안전하기 때문.
*또한 코딩하기 더 쉽다.
*/
}
}
728x90
반응형