package model;
public class Person {
public int num;
public String name;
public String dept;
public String address;
public Person(int num, String name, String dept, String address) {
this.num = num;
this.name = name;
this.dept = dept;
this.address = address;
}
public Person() {
}
public void print() {
// TODO Auto-generated method stub
System.out.println(num);
System.out.println(dept);
System.out.println(address);
System.out.println(name);
}
}
Person 클래스를 상속하는 Professor, Student, Staff 클래스를 만들자
package model;
public class Professor extends Person {
String[] subjects;
public Professor(int num, String name, String dept, String address, String[] subjects) {
super(num, name, dept, address);
this.subjects = subjects;
}
@Override
public void print() {
super.print();
for(int i=0;i<subjects.length;i++) {
System.out.println(subjects[i]);
}
}
}
package model;
public class Student extends Person {
String[] subjects;
}
package model;
public class Staff extends Person {
String job;
}
package main;
import model.Person;
import model.Professor;
public class Main {
public static void main(String[] args) {
Person p = new Person(1,"홍길동","경영학과","인천시 서구");
p.print();
Professor pf1 = new Professor(1,"김나나","경제학과","서울시 강북구", new String[] {"경제원론","미시경제학"});
pf1.print();
}
}
'Java' 카테고리의 다른 글
인터페이스(Interface) (0) | 2023.07.04 |
---|---|
수직 상속, Abstract Class (0) | 2023.07.04 |
메소드 오버라이딩(Method Overriding) (0) | 2023.07.03 |
private와 상속 (0) | 2023.07.03 |
상속 (Parent-Child 관계) (0) | 2023.07.03 |