본문 바로가기
Java

JAVA Super

by titlejjk 2023. 5. 17.

Java에서 super는 키워드 중 하나로, 부모 클래스의 객체를 참조하는 데 사용된다. 부모 클래스의 인스턴스 변수 또는 메소드를 호출하거나, 부모 클래스의 생성자를 호출하는 데 사용된다. 이를 통해 코드의 재사용성을 높이고, 코드 중복을 피할 수 있다.

 

super 키워드의 사용방법 👉

  1. super는 부모 클래스의 인스턴스 변수를 참조하는 데 사용.
    만약 부모 클래스와 자식 클래스에서 같은 이름의 인스턴스 벼누가 있다면, 자식 클래스에서 super키워드를 사용하여 부모 클래스의 인스턴스 변수에 접근할 수 있다.
  2. super는 부모 클래스의 메소드를 호출하는데 사용 된다.
    만약 자식 클래스에서 부모 클래스의 메소드를 오버라이딩 했다면, 자식 클래스에서 super키워드를 사용하여 부모 클래스의 메소드를 호출할 수 있다.
  3. super는 부모 클래스의 생성자를 호출하는 데 사용된다.
    자식 클래스의 생성자에서 super키워드를 사용하여 부모 클래스의 생성자를 호출할 수 있다.
    만약 자식 클래스에서 생성자를 정의하지 않았다면, 컴파일러는 자동으로 인자가 없는 부모 클래스의 생성자를 호출하는 생성자를 추가한다.

super 키워드의 사용 방법 예제👉

class Animal {
    String color = "white";
    void eat() {
        System.out.println("eating...");
    }
}

class Dog extends Animal {
    String color = "black";
    void eat() {
        System.out.println("barking...");
    }
    void printColor() {
        System.out.println(color); // "black" 출력
        System.out.println(super.color); // "white" 출력
    }
    void callParentMethod() {
        super.eat(); // Animal 클래스의 eat() 메소드 호출
    }
    Dog() {
        super(); // Animal 클래스의 생성자 호출
        System.out.println("dog is created");
    }
}

// 실행 예시
Dog dog = new Dog();
dog.printColor();
dog.callParentMethod();

위에 코드에서 super.color는 부모 클래스인 Animal 클래스의 color 변수를 참조하며, super.eat()은 Animal 클래스의 eat()메소드를 호출한다. 또한, super()는 Animal 클래스의 생성자를 호출한다.

'Java' 카테고리의 다른 글

JAVA JSP와 Servlet을 사용하여 게시판을 만드는 원리  (2) 2023.05.25
JAVA Servlet  (0) 2023.05.20
JAVA DTO  (0) 2023.05.15
JAVA JDBC  (0) 2023.05.15
JAVA Input & Output  (0) 2023.05.11

댓글