Java super 키워드
1. super 키워드
super 키워드를 사용하여 상위 클래스에 액세스 할 수 있다.
2. 생성자가 있는 슈퍼 키워드
super()를 사용 하여 부모 기본 생성자를 호출 할 수 있다. 생성자의 첫 번째 명령문이어야 한다.
이 예에서는 String 인수와 함께 super(message)를 사용한다.
1
2
3
4
5
6
public class SuperSub extends SuperBase {
public SuperSub(String message) {
super(message);
}
}
자식 클래스 인스턴스를 만들고 뒤에서 무슨 일이 일어나는지 본다.
1
SuperSub child = new SuperSub("message from the child class");
새로운 키워드는 SuperSub의 생성자를 호출하며, 그 자체가 부모 생성자를 먼저 호출하고 문자열 인수를 전달한다.
3. 부모 클래스 변수에 접근
메시지 인스턴스 변수를 사용하여 부모 클래스를 생성한다.
1
2
3
public class SuperBase {
String message = "super class";
}
이제 같은 이름의 변수를 사용하여 자식 클래스를 만든다.
1
2
3
4
5
6
7
8
public class SuperSub extends SuperBase {
String message = "child class";
public void getParentMessage() {
System.out.println(super.message);
}
}
super 키워드 사용하여 자식 클래스에서 부모 변수에 액세스할 수 있다.
4. 메서드 재정의가 있는 슈퍼 키워드
부모 클래스에 인스턴스 메서드를 추가한다.
1
2
3
4
5
6
7
8
public class SuperBase {
String message = "super class";
public void printMessage() {
System.out.println(message);
}
}
그리고 자식 클래스에서 printMessage() 메서드를 재정의한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
public class SuperSub extends SuperBase {
String message = "child class";
public SuperSub() {
super.printMessage();
printMessage();
}
public void printMessage() {
System.out.println(message);
}
}
슈퍼를 사용 하여 자식 클래스에서 재정의된 메서드에 액세스 할 수 있다. 생성자의 super.printMessage()는 SuperBase에서 부모 메서드를 호출한다.
[출처 및 참고]
This post is licensed under CC BY 4.0 by the author.