군침이 싹 도는 코딩
super 본문
@Override
public void print() {
// TODO Auto-generated method stub
super.print();
for (int i = 0; i < subjects.length; i++) {
System.out.println(subjects[i]);
}
# 메소드 오버라이딩을 하면 super라는 키워드가 생긴다
이것은 상속받은 클래스를 의미한다
수퍼를 눌러보면 상속받는 클래스로 가진다
package model;
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;
}
package model;
public class Professor extends Person {
String[] subjects;
public Professor() {
}
public Professor(int num, String name, String dept, String address, String[] subjects) {
// 수퍼 클래스의 생성자 호출하는 코드
super(num, name, dept, address);
this.subjects = subjects;
}
# 위 Person 을 Professor가 상속받은 상태이다
여기서 생성자를 만들어줄때 수퍼 클래스 ( 상속받은 클래스 ) 의 생성자를 호출해
데이터 입력하는 부분을 상속받고 Professor 만 가진 subjects 라는 어레이만 따로 써주면 된다
'JAVA > Basic' 카테고리의 다른 글
메소드 오버라이딩 (Method overriding ) (1) | 2023.01.19 |
---|---|
배열 ( Array ) 데이터 출력 입력 (0) | 2023.01.19 |
클래스를 상속받는 코드 ( extends ) (0) | 2023.01.19 |
getter / setter 함수 (0) | 2023.01.19 |
접근 제어자 ( default, public, private, protected ) (0) | 2023.01.19 |