java oop : object casting

This commit is contained in:
haerong22
2021-03-10 14:30:36 +09:00
parent 3c057a52be
commit a4d8c3a2bc
2 changed files with 27 additions and 0 deletions

23
JavaOOP/src/Java20.java Normal file
View File

@@ -0,0 +1,23 @@
import myObject.Animal;
import myObject.Cat;
import myObject.Dog;
public class Java20 {
public static void main(String[] args) {
// upcasting
Animal cat = new Cat();
Animal dog = new Dog();
// 오버라이딩 한 메소드 사용
// cat 에만 있는 메소드는 사용 하지못함 -> cat.say() X
cat.eat(); // 컴파일 시점 -> Animal 의 eat(), 실행 시점 -> Cat 의 eat()
dog.eat(); // 컴파일 시점 -> Animal 의 eat(), 실행 시점 -> Dog 의 eat()
// downcasting
// Cat c = (Cat) ani;
// c.night();
((Cat) cat).say(); // . 연산자가 casting 연산자 보다 우선순위가 높다.
}
}

View File

@@ -5,4 +5,8 @@ public class Cat extends Animal{
public void eat() {
System.out.println("고양이가 먹는다");
}
public void say() {
System.out.println("냐옹옹");
}
}