> 개발-IT-인터넷/> JAVA

[해커랭크(HackerRank) JAVA 풀이] - Java Method Overriding 2 (Super Keyword)

jini:) 2023. 10. 27. 09:03
728x90
반응형
해커랭크 - https://www.hackerrank.com/
Prepare > Java > Object Oriented Programming > Java Method Overriding 2 (Super Keyword)
 

HackerRank

HackerRank is the market-leading technical assessment and remote interview solution for hiring developers. Learn how to hire technical talent from anywhere!

www.hackerrank.com

 

 

서브클래스의 메서드가 슈퍼클래스의 메서드를 재정의하는 경우에도 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
반응형