본문 바로가기

JAVA/쓸만한 코드

로봇, 배열별 메서드를 다른 메서드에서 if로 나눠담아 실행

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 > 쓸만한 코드' 카테고리의 다른 글

HashMap 코드  (0) 2020.06.09
DTO 기본형  (0) 2020.06.04
함수//입력받고 loop  (0) 2020.06.02
함수// 2차원배열 파일 불러오기  (0) 2020.06.01
함수// 2차원 배열에 '-'붙여 파일로 저장하기  (0) 2020.06.01