class Parent {
int age;
String name;
void print() {
System.out.println(age);
System.out.println(name);
}
}
public class Child extends Parent { //상속
String job = "it";
void print() {
super.print();
System.out.println(job);
}
}
메소드를 상속받고 내용 수정
많은 형태를 보유할 수 있다는 의미
상위 타입 변수는 하위 타입의 모든 객체를 수용
상위 타입 변수 = 하위 타입 객체
전제 조건
상속 관계여야만 성립되는 문법
rule
상위타입 변수로 생성된 자식 객체의 멤버를 호출할 시에는 상속 시킨 멤버에 한해서만 access(호출)가능. 만약, Parents를 상속받은 Child클래스에만 존재하는 변수를 Parents를 통해 호출하고 싶은 경우, 형변환은 필수이다.
Parent p = new Child2(); //다형성 객체 생성 문법 O
Child c = new Child2(); //다형성 객체 생성 문법 X
Child c2 = (Child)p; //형변환
c2.job = "manager"; //job은 Child클래스에만 있는 멤버변수