개발공부

[Java] 부모 메소드 호출을 위한 super 사용법 본문

Java/Basic

[Java] 부모 메소드 호출을 위한 super 사용법

mscha 2022. 7. 5. 12:42

super 키워드를 사용하면 상속한 부모클래스(super class)를 호출한다.

super() - 부모 생성자

super.메소드 - 부모  메소드 

 

예제

Person.java

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);
	}
}

 

Student.java

super(num, name, dept, address) - 부모클래스의 생성자를 호출

super.print() - 부모클래스의 print() 메소드 호출

public class Student extends Person{

	private String[] subjects;
	
	public Student() {}
	
	public Student(int num, String name, String dept, String address, String[] subjects) {
		super(num, name, dept, address);
		this.subjects = subjects;
	}
	
	@Override
	public void print() {
		super.print();
		System.out.println(name + " 학생의 수강신청 과목 : " );
		for (int i=0; i<subjects.length ; i++)
			System.out.print(subjects[i] + " ");
		System.out.println();
		
	}
}

 

Main.java

public class PersonMain {

	public static void main(String[] args) {
		
		Student s = new Student(10, "홍길동", "컴퓨터공학과", "인천시", new String[] {"파이썬", "자바"});
		s.print();		
	}

}