public class UpcastingDowncastingDemo {
public static void main(String[] args) {
Person p = new Person();
Student s = null;
//String s = p; // 부모와 자식 으로써 서로 타입이 다름
Student s = (Student) p; // 클래스를 casting하다가 person과 Student의 형식이 맞지않음
}
}
public static void main(String[] args) {
Student s = new Student();
Person p = new Person();
System.out.println(s instanceof Student);
System.out.println(s instanceof Person);
System.out.println(s instanceof Object);
}
public static void main(String[] args) {
Student s = new Student();
Person p = new Person();
Army a = new Army();
downcast(s);
downcast(p);
// downcast("abdfdfe");
downcast(a);
}
private static void downcast(Person p) {
if (p instanceof Army) {
Army a = (Army) p;
System.out.println(a.number);
a.work();
}
}
반응형
'백엔드 > JAVA' 카테고리의 다른 글
JAVA 변수 와 매개변수의 값이 다른이유 (0) | 2024.09.07 |
---|---|
절차지향 vs 객체지향(인프런실습) (0) | 2024.08.29 |
java - map (0) | 2024.08.28 |
java - lambda (0) | 2024.08.28 |
JAVAerror로그 (0) | 2024.08.26 |