728x90
https://www.baeldung.com/java-super
super class는 부모 class에 액세스한다는 의미이다
The super Keyword With Constructors
부모의 기본 cunstructor를 호출한다
public class SuperSub extends SuperBase {
public SuperSub(String message) {
super(message);
}
}
이런 코드가 있다면 child class instance에서 new 키워드로 부모 constructor를 먼저 호출하여 String인수를 전달 하는 SuperSub의 생성자를 호출한다
SuperSub child = new SuperSub("message from the child class");
Accessing Parent Class Variables
message instance 변수를 사용하여 바로 부모클래스를 생성할 수 있다
public class SuperBase {
String message = "super class";
// default constructor
public SuperBase(String message) {
this.message = message;
}
}
자식클래스 생성 후 super 를 사용하여 SuperSub에서 SuperBase 변수에 액세스한다
public class SuperSub extends SuperBase {
String message = "child class";
public void getParentMessage() {
System.out.println(super.message);
}
}
The super Keyword With Method Overriding
메소드 재정의
https://www.baeldung.com/java-method-overload-override
부모클래스에 instance method를 추가하고 이를 자식클래스에서 재정의할 수 있다
public class SuperBase {
String message = "super class";
public void printMessage() {
System.out.println(message);
}
}
public class SuperSub extends SuperBase {
String message = "child class";
public SuperSub() {
super.printMessage();
printMessage();
}
public void printMessage() {
System.out.println(message);
}
}
SuperSub에서 printMessage 를 호출해와서 액세스한다 (재정의할 수 있ㅇ므)
728x90
'Web > JAVA' 카테고리의 다른 글
[effective java] 3판 요약 보면서 (1) (0) | 2023.04.17 |
---|---|
[자료구조] DFS, BFS (0) | 2023.04.17 |
[Java] Interface Supplier<T> (0) | 2023.03.22 |
[Java] this (0) | 2023.03.22 |
[IntelliJ Javadocs] Javadocs 문서 만들기 (0) | 2023.03.18 |