Java의 super
Java에는 상위 클래스와 다소 관련이 있는 사전 정의된 키워드 super
가 있습니다. 이 튜토리얼에서 super()
함수에 대해 자세히 논의할 것입니다.
Java에서 super
키워드는 상위 클래스 객체에 대한 참조 변수 역할을 합니다. 부모의 클래스 메서드 및 변수를 호출하는 데 사용할 수 있습니다.
예를 들어
class Teacher { // Parent class
int grade = 90;
}
class Students extends Teacher { // subclass
Students() {
System.out.println("Grade " + super.grade);
}
}
public class Main {
public static void main(String[] args) {
Students s = new Students();
}
}
출력:
Grade 90
위의 예에서는 super
키워드를 사용하여 Students
하위 클래스의 생성자에서 Teacher
상위 클래스의 grade
변수에 액세스했습니다.
부모의 클래스 생성자를 호출하는 super()
함수도 있습니다. 이 함수는 부모 클래스의 생성자를 호출할 때만 사용됩니다. 매개변수 및 비 매개변수 생성자는 모두 super()
함수를 사용하여 호출할 수 있습니다. 어떻게든 생성자가 super()
함수를 사용하는 동안 명시적으로 수퍼클래스 생성자를 호출하지 않으면 수퍼클래스의 인수가 없는 생성자가 Java 컴파일러 자체에 의해 호출됩니다.
아래 코드를 참조하십시오.
class Teacher { // Parent class
Teacher() // constructor
{
System.out.println("Teacher class Constructor");
}
}
class Students extends Teacher { // subclass
Students() {
super();
System.out.println("Students class Constructor");
}
}
public class Main {
public static void main(String[] args) {
Students s = new Students();
}
}
출력:
Teacher class Constructor
Students class Constructor
위의 코드에서 부모 클래스 Teacher
와 메시지를 출력하는 부모 클래스 생성자를 만들었습니다. 그런 다음 하위 클래스 Students
는 Teacher
에서 확장됩니다. 이 클래스에는 상위 클래스 생성자를 호출하기 위한 super()
함수로 구성된 Students()
생성자가 있습니다. 그런 다음 프로그램을 실행하기 위해 하위 클래스를 호출하는 메인 클래스가 있습니다. super()
함수는 상위 클래스 생성자를 호출하여 상위 클래스에서 메시지를 출력한 다음 하위 클래스에서 메시지를 출력합니다.