super()은 부모클래스의 함수 뿐만 아니라 생성자도 호출할 수 있다.
super 사용 예제
// 부모 클래스
// Person.java
package main.person;
public class Person {
// 상속받은 클래스만 접근 가능
protected int num;
protected String name;
protected String dept;
protected String address;
public Person() {
}
public Person(int num, String name, String dept, String address) {
this.num = num;
this.name = name;
this.dept = dept;
this.address = address;
}
public void print() {
System.out.println("num : " + num);
System.out.println("name : " + name);
System.out.println("dept : " + dept);
System.out.println("address : " + address);
}
}
// 자식 클래스
// Professor.java
package main.person;
public class Professor extends Person {
// protected int num;
// protected String name;
// protected String dept;
// protected String address;
// Person 클래스의 함수들도 상속 받았다.
private String[] subjects;
public Professor() {
}
public Professor(int num, String name, String dept, String address, String[] subjects) {
super(num, name, dept, address);
this.subjects = subjects;
}
public void printSubj() {
System.out.println(name + " 교수의 개설 과목");
for (int i = 0; i < subjects.length; i++) {
System.out.println(subjects[i]);
}
}
public void print() {
super.print();
printSubj();
}
}
'JAVA' 카테고리의 다른 글
[ JAVA / 자바 ] 추상클래스란? 추상클래스의 사용법 (0) | 2022.07.06 |
---|---|
[ JAVA / 자바 ] 업캐스팅(Upcasting), 다운캐스팅(Downcasting)이란? (0) | 2022.07.05 |
[ JAVA / 자바 ] super 란? super 사용법 (0) | 2022.07.04 |
[ JAVA / 자바 ] 메소드 오버라이딩(overriding)이란? (0) | 2022.07.04 |
[ JAVA / 자바 ] 상속이란 ? 클래스의 상속 (0) | 2022.07.04 |