// Call By reference
// 부모 클래스 하나로 다 받는다. 매개변수에다가 다형성을 적용 // 오버라이드도 아니고, 매개변수가 다르다. 매개변수가 다른 매서드를 여러개 만들면 안된다. public static void moveAnimal(_05_Animal animal) { //System.out.println(animal); animal.move(); if(animal instanceof _05_Human) { // 다운케스팅 _05_Human test = (_05_Human)animal; test.readBook(); } else if(animal instanceof _05_Tiger) { _05_Tiger test = (_05_Tiger)animal; test.hurting(); } else if(animal instanceof _05_Eagel) { _05_Eagel test = (_05_Eagel)animal; test.flying(); } } // 자식으 갯수만큼 만들어 내야한다. // // Call By reference // public static void moveAnimal(_05_Human anmal) { // _05_Human animal2 = new _05_Human(); // System.out.println(anmal); // anmal.move(); // } // // // Call By reference // public static void moveAnimal(_05_Tiger anmal) { // _05_Tiger animal3 = new _05_Tiger(); // System.out.println(anmal); // anmal.move(); // } // // // Call By reference // public static void moveAnimal(_05_Eagel anmal) { // _05_Eagel animal4 = new _05_Eagel(); // System.out.println(anmal); // anmal.move(); // } |
'언어 > 자바' 카테고리의 다른 글
List 프레임워크 vs Map 프레임워크 (0) | 2025.06.05 |
---|---|
인터페이스 vs 추상클래스 (0) | 2025.06.04 |
overide vs overoad vs 상속 (0) | 2025.05.30 |
static - 핵심 (0) | 2025.05.29 |
Call by Value vs Call by Reference (0) | 2025.05.29 |