해당 내용은 JSP, Servlet 공부 도중 잘 몰랐던 내용을 정리한 게시물입니다. 많은 분들의 블로그와 지식을 기반으로 작성하였습니다.
cf) 리터럴 타입 : 변하지 않는 데이터 그 자체를 의미하며, 원시 타입 (primitive) 와 String이 있음
1. UpCasting
class Human{
// 생략
}
class Student extends Human{
// 생략
}
public class CastingTest {
public static void main(String[] args) {
Student student = new Student();
Human human = student;
// 자식 클래스(Student)가 부모 클래스(Human)타입으로 캐스팅
}
}
2. Downcasting
class Human{
// 생략
}
class Student extends Human{
// 생략
}
public class CastingTest {
public static void main(String[] args) {
Human human = new Human();
Student student = (Student) human;
// 부모 클래스(Human)이 자식 클래스(Student)타입으로 캐스팅
// 위의 구문은 오류지만, 이런 식으로 된다는 걸 보여주기 위한 것이니 참고만 하자.
// 실제로 다운캐스팅은 업 캐스팅이 선행된 후 되어야 한다.
}
}