: A extends B 이면 A가 B가 될 수 있다. 이것이 상속일수도 있지만 다형성이기도 하다.
: A는 A클래스의 객체로도 생성이 되고, B클래스의 객체로도 생성이 된다.
class 토끼 extends 포유류{}
토끼 t = new 토끼();
: 이 상황에서 토끼는 다형성을 가짐. (토끼, 포유류, Object)
- 소스
public class animal {
int money = 20;
public int getMoney(){
return money;
}
public void setMoney(int money){
this.money = money;
}
public static void main(String[] args) {
}
}
class rabbit extends animal{
int girl = 8;
public void star(){
System.out.println(girl);
}
public void test(){
// rabbit 객체 생성
rabbit t = new rabbit();
// Object 객체 생성
Object obj = new rabbit();
// animal 객체 생성
animal p = new rabbit(); // 상속관계에 있으므로 넣을 수 있음 (다형성)
// 자바는 다중 상속을 지원하지 않고 단일 상속만 지원한다.
}
public void test2(){
Object [] arr = new Object[2];
arr[0] = new rabbit();
arr[1] = new animal();
}
}
public class animal {
int money = 20;
public int getMoney(){
return money;
}
public void setMoney(int money){
this.money = money;
}
public static void main(String[] args) {
}
}
class rabbit extends animal{
int girl = 8;
public void star(){
System.out.println(girl);
}
public void test(){
// rabbit 객체 생성
rabbit t = new rabbit();
// Object 객체 생성
Object obj = new rabbit();
// animal 객체 생성
animal p = new rabbit(); // 상속관계에 있으므로 넣을 수 있음 (다형성)
// 자바는 다중 상속을 지원하지 않고 단일 상속만 지원한다.
}
public void test2(){
Object [] arr = new Object[2];
arr[0] = new rabbit();
arr[1] = new animal();
}
}