형변환을 의미한다.
//강제 형변환
int num2 = (int) 2.0;
자식클래스의 객체가 부모클래스의 타입으로 형변환 되는 것
class Parent {
String name;
Parent(String name){
this.name = name;
}
}
class Student extends Parent{
String child;
Student(String name){
super(name);
}
}
public class Main{
public static void main(String[] args){
Student student = new Student("길동이");
Parent person = student; //업캐스팅
System.out.println(person.name);
//(출력) 길동이
System.out.println(student.name);
//(출력) 길동이
}
}
//업캐스팅
Parent p = new Child();
업캐스팅된 객체를 다시 되돌리는 것.
class Parent {
String name;
Parent(String name){
this.name = name;
}
}
class Student extends Parent{
String child;
Student(String name){
super(name);
}
}
public class main {
public static void main(String[] args){
Parent person = new Student("길동이");
Student student = (Student)person; //다운캐스팅
student.name = "동그라미";
student.child = "그라미";
System.out.println(person.name);
//(출력) 동그라미
System.out.println(student.child);
//(출력) 그라미
}
}
//다운캐스팅
Child c = (Child) p;
a = 10;
pa = &a;
변수를 선언하고 초기화해주는 자체
int a = 5;