action함수를 작성해보는 문제
최상위 클래스인 Object[] arr 를 통해 나머지 로봇들을 다뤘다.
-> for문으로 action[ i ]안에 배열을 나눠담고
-> action함수에서 if문을 사용해 받은 매개변수를 나누어 class실행을 다르게 설정했다
public class mainClass {
public static void main(String[] args) {
/*
Robot[] arr = {
new DanceRobot(),
new SingRobot(),
new DrawRobot()
};
for(int i=0; i< arr.length;i++)
action(arr[i]);
*/
Object[] arr = {
new DanceRobot(),
new SingRobot(),
new DrawRobot()
};
for (int i = 0; i < arr.length; i++) {
action(arr[i]);
}
}
public static void action(Object obj) {
if(obj instanceof DanceRobot) {
((DanceRobot)obj).dance();
}
else if(obj instanceof SingRobot) {
SingRobot s = (SingRobot)obj;
s.sing();
}
else if(obj instanceof DrawRobot) {
DrawRobot d = (DrawRobot)obj;
d.draw();
}
}
}
//class Robot {}
class DanceRobot {
void dance() {
System.out.println("춤을 춥니다.");
}
}
class SingRobot {
void sing() {
System.out.println("노래를 합니다.");
}
}
class DrawRobot {
void draw() {
System.out.println("그림을 그립니다.");
}
}
'JAVA > 객체 코드' 카테고리의 다른 글
스타크래프트 ( Me) (0) | 2020.06.03 |
---|---|
스타크래프트 (정답) (0) | 2020.06.03 |
final Class (0) | 2020.06.03 |
class 기초순서 문제 (0) | 2020.06.03 |
static (0) | 2020.06.03 |