일반 데이터형은 단순히 값을 대입하지만, 객체 배열은 new를 사용하여 객체를 할당해야 한다.
-일반 데이터형 배열
data[0] = 1;
data[1] = 2;
data[2] = 10;
객체 배열
data[0] = new Army();
data[1] = new Army();
data[2] = new Army();
객체 형변환 + 객체 배열
배열의 생성이 부모 클래스로 지정되었을 경우, 모든 자식 클래스의 객체들은 그 배열에 포함될 수 있다.
Unit[] unit = new Unit[3]; // Unit 부모클래스로 배열생성했으므로..
// 자식들의 객체가 배열 포함가능 // 배열의 요소 할당 과정에서 암묵적 형변환이 일어난다.
unit[0] = new Army();
unit[1] = new Navy();
unit[2] = new AirForce();
for( int i = 0; i<unit.length; i++){
unit[i].attack();
}
if( unit[0] instanceof Army ){
Army temp = (Army)unit[0];
temp.tank();
}