728x90
반응형
해커랭크 - https://www.hackerrank.com/
Prepare > Java > Object Oriented Programming > Java Method Overriding 2 (Super Keyword)
서브클래스의 메서드가 슈퍼클래스의 메서드를 재정의하는 경우에도 super 키워드를 사용하여 재정의된 메서드를 호출할 수 있습니다. 함수 func()를 호출하기 위해 super.func()를 작성하면 슈퍼클래스에 정의된 메서드를 호출합니다.
편집기에서 부분적으로 완료된 코드가 제공됩니다. 코드가 다음 텍스트를 인쇄하도록 코드를 수정합니다.
Hello I am a motorcycle, I am a cycle with an engine.
My ancestor is a cycle who is a vehicle with pedals.
Code
import java.util.*;
import java.io.*;
class BiCycle{
String define_me(){
return "a vehicle with pedals.";
}
}
class MotorCycle extends BiCycle{
String define_me(){
return "a cycle with an engine.";
}
MotorCycle(){
System.out.println("Hello I am a motorcycle, I am "+ define_me());
//String temp=define_me(); //Fix this line
String temp = super.define_me();
System.out.println("My ancestor is a cycle who is "+ temp );
}
}
class Solution{
public static void main(String []args){
MotorCycle M=new MotorCycle();
}
}
super
1. 상위 클래스(부모 클래스)의 멤버 호출 : 현재 클래스에서 상속한 부모 클래스의 멤버(필드, 메서드)를 참조.
주로 부모 클래스와 하위 클래스 간의 이름 충돌을 해결.
부모 클래스의 메서드를 오버라이드한 경우 원래의 부모 클래스 메서드를 호출하는 데 사용.
2. 상위 클래스의 생성자 호출 : 하위 클래스의 생성자에서 상위 클래스의 생성자를 호출하는 데 사용.
하위 클래스가 초기화될 때 상위 클래스의 초기화가 우선적으로 수행.
개인 공부를 위한 포스팅입니다.
모든 번역, 코드는 완벽하지 않을 수 있습니다.
728x90
반응형
'> 개발-IT-인터넷 > > JAVA' 카테고리의 다른 글
[해커랭크(HackerRank) JAVA 풀이] - Java Iterator (1) | 2023.10.31 |
---|---|
[해커랭크(HackerRank) JAVA 풀이] - Java Instanceof keyword (0) | 2023.10.30 |
[해커랭크(HackerRank) JAVA 풀이] - Java Method Overriding (0) | 2023.10.26 |
[해커랭크(HackerRank) JAVA 풀이] - Java Interface (1) | 2023.10.25 |
[해커랭크(HackerRank) JAVA 풀이] - Java Abstract Class (1) | 2023.10.24 |