응용 SoftWare/JAVA
상속 관계에서 객체 형변환
Hyun CHO
2016. 12. 1. 13:09
상위 클래스
class Parent
{
String name = "조현";
int age = 35;
void setName(String name){
this.name = name;
}
void setAge(int age){
this.age = age;
}
String getName(){
return name;
}
int getAge(){
return age;
}
}
=====================================================================
하위 클래스
class Child extends Parent //하위 클래스
{
String name = "조현II";
String tel = "010-9142-1348";
String getName(){ //overiding
return "["+name+"]";
}
void prn(){
System.out.println(name+" = "+age);
}
}
===================================================================
메인
class InheritanceTest
{
public static void main(String[] args)
{
//상속 관계에서 객체 형변환
Child c1 = new Child();
System.out.println("이름 = "+c1.getName());
c1.prn();
//클래스의 형변환
//크래스의 형변환은 상속관계에서 하위 클래스 객체를 상위 클래스로 형변환 할 수 있다.
//상위 클래스에서 하위 클래스로 형변환은 불가능하다.
//하위 클래스에만 있는 메소드는 상위 클래스로 형변환시 하위 클래스의 메소드는 소멸한다.
Parent p1 = (Parent)c1;
System.out.println("이름 = "+p1.getName());
//p1.prn(); //하위 클래스에만 있는 메소드
System.out.println("tel="+c1.tel);
//System.out.println("tel="+p1.tel);
}
}