Java의 super

Siddharth Swami 2023년10월12일
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와 메시지를 출력하는 부모 클래스 생성자를 만들었습니다. 그런 다음 하위 클래스 StudentsTeacher에서 확장됩니다. 이 클래스에는 상위 클래스 생성자를 호출하기 위한 super() 함수로 구성된 Students() 생성자가 있습니다. 그런 다음 프로그램을 실행하기 위해 하위 클래스를 호출하는 메인 클래스가 있습니다. super() 함수는 상위 클래스 생성자를 호출하여 상위 클래스에서 메시지를 출력한 다음 하위 클래스에서 메시지를 출력합니다.

관련 문장 - Java Class