다형성
- '자식클래스로 생성되어진 객체를 부모 클래스 타입으로 받을 수 있다' 는 것.
Ex)
Animal[] ani_arr = new Animal[5]; // Animal 저장소 만들기
Dog dog = new Dog(); // 기존방법
// 다형성
Animal ani1 = new Dog();
// 다형성
ani_Arr[0] = new Dog();
Ex)
Gujikja[] gu_arr = new Gujikja[5];
Company[] cp_arr = new Company[4];
// 을 대신하여
CommonMembber[] cmbr = new CommonMember[9];
// 대체
int type;
// setter, getter 하기
public void setType(int type){
if(type == 1 || type == 2) {
this.type = type;
// type 의 값이 1 이라면 Gujikja 라 보고,
// type 의 값이 2 이라면 Company 라 본다.
}
} // end of public void setType(int type)---------
public int getType(){
return type;
} // end of public int getType()--------------
((Gujikja)cmbr_arr[i])) == Gujikja
((Company)cmbr_arr[i])) == Company
// 뒤에 . 을 붙여 사용 가능
// Gujikja 호출
if(cmbr_arr[i].getType() == 1) // int type 을 만든 경우
// 또는
if(cmbr_arr[i] instanceof Gujikja) // 필드를 만들지 않은 경우
// Company 호출
if(cmbr_arr[i].getType() == 2) // int type 을 만든 경우
// 또는
if(cmbr_arr[i] instanceof Company) // 필드를 만들지 않은 경우
my.day15.e.polymorphism -> Animal, Dog, Cat, Duck, Main
my.day15.f.polymorphism
-> CommonMember, Gujikja, Company, Ctrl_common, Ctrl_gujikja, Ctrl_company, Main_gujikja_company