java

수업

바이홍 2007. 2. 8. 21:23
반응형

class Test{
static void me(A a){//me(A a) 매개 변수 타입(객체)을 부모로 선언한다.
a.aTest();
}
public static void main(String args[]){
A arr[]={new B(),new C()};
for(int i=0 ; i<2 ; i++)
me(arr[i]);//메모리 생성이 없어서 스태틱으로 바로 접근
}
}
class A{
void aTest(){
System.out.println("aaa");
}
}
class B extends A{
void aTest(){
System.out.println("bbb");
}
}
class C extends A{
void aTest(){
System.out.println("ccc");
}
}

----------------------------------------------------------------------------

class Test{
static D[] me(){
D[] arr={new E(),new F()};
return arr;
}
public static void main(String args[]){
D arr[]=me();
for(int i=0 ; i<2 ; i++){
if(arr[i] instanceof E)
((E)arr[i]).meE();
else if(arr[i] instanceof F)
((F)arr[i]).meF();
}
}
}
class D{

}
class E extends D{
void meE(){
System.out.println("E의 매서드");
}
}
class F extends D{
void meF(){
System.out.println("F의 매서드");
}

}