package main;
import animal.Animal;
import animal.Cat;
import animal.Dog;
public class MainClass {
public static void main(String[] args) {
// Dog + Cat = 10
Dog []dogArr = new Dog[10];
Cat []catArr = new Cat[10];
dogArr[0] = new Dog();
catArr[0] = new Cat();
catArr[1] = new Cat();
dogArr[1] = new Dog();
// Animal ani = new Dog();
// Animal ani = new Cat();
Animal []animal = new Animal[10];
animal[0] = new Dog();
animal[1] = new Cat();
animal[2] = new Cat();
animal[3] = new Dog();
/*
for (Animal a : animal){
if(a != null){
a.speech();
}
}
*/
/*
Animal ani = new Dog();
ani.speech();
// cast(강제) 자료형 변환
// double d = 123.456;
// int number = (int)d;
//Dog d = (Dog)ani;
//d.dog_method();
// instanceof : 어떠한 object로 생성이 되었는지 판단
if(ani instanceof Dog){
System.out.println("Dog로 생성");
}
*/
for (Animal a : animal){
if(a != null){
a.speech(); // Over Ride 된 메서드
if(a instanceof Dog){
Dog d = (Dog)a;
d.dog_method();
} else if (a instanceof Cat) {
((Cat)a).cat_method();
}
}
}
Object[] ani = new Animal[10];
ani[0] = new Dog();
ani[1] = new Cat();
ani[2] = new Cat();
ani[3] = new Dog();
Object[] obj = new Object[3];
obj[0] = new String("world");
obj[1] = new Dog();
obj[2] = 123; // <- Integer
}
}
package animal;
public class Animal {
public void speech(){
System.out.println("Animal speech()");
}
}
package animal;
public class Cat extends Animal{
@Override
public void speech() {
System.out.println("야옹야옹");
}
public void cat_method(){
System.out.println("저는 야옹이에요");
}
}
package animal;
public class Dog extends Animal{
@Override // <- namespace(주석문)
public void speech() {
System.out.println("멍멍");
}
public void dog_method(){
System.out.println("난 강아지다");
}
}
'JAVA 프로그래밍' 카테고리의 다른 글
[JAVA] 풀스택 개발자 부트캠프 011일차 ④ 상속 예제 3개 (0) | 2025.01.10 |
---|---|
[JAVA] 풀스택 개발자 부트캠프 011일차 ③ 달력(Calendar) (0) | 2025.01.10 |
[JAVA] 풀스택 개발자 부트캠프 011일차 ② protected, over ride, super (0) | 2025.01.10 |
[JAVA] 풀스택 개발자 부트캠프 011일차 ① 상속성 (0) | 2025.01.09 |
[JAVA] 풀스택 개발자 부트캠프 010일차 ② 학생 관리 프로그램(불러오기, 저장하기 추가) (0) | 2025.01.07 |