[기초] 클래스의 상속

2017. 9. 28. 11:56Programming Languages/Java

C++에서는 부모 클래스 변수에 자식 클래스 객체를 넣는 것이 안되었던 것 같은데, java에서는 쉽게 된다.

아래와 같은 코드의 구현이 가능하다! 



public class PersonTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
Person persons[]=new Person[3];
persons[0]=new Person("길동이",22);
persons[1]=new Student("황진이",23,100);
persons[2]=new ForeignStudent("Amy",30,200,"U.S.A");
for(int i=0; i<3; i++){
persons[i].show();
}
}
}
class Person{
int age;
String name;
Person(String n, int a){
age=a;
name=n;
};
public void show(){
System.out.println("사람[이름 : "+name+", 나이 : "+age+"]");
}
}
class Student extends Person{
int studentId;
Student(String n, int a, int i){
super(n, a);
studentId=i;
}
public void show(){
System.out.println("학생[이름 : "+name+", 나이 : "+age+", 학번 : "+studentId+"]");
}
}
class ForeignStudent extends Student{
String nationality;
ForeignStudent(String n, int a, int i, String nat){
super(n,a,i);
nationality=nat;
}
public void show(){
System.out.println("외국학생[이름 : "+name+", 나이 : "+age+", 학번 : "+studentId+", 국적 : "+nationality+"]");
}
}