Java

자바 메소드 오버라이딩(Method Overriding) 하는 방법

567Rabbit 2024. 6. 3. 11:29

메소드 오버라이딩(Method Overriding) 

 

부모클래스의 변수는 name, age, money이고,

 

자녀클래스의 변수는 부모에게 상속받은 변수와 자녀클래스의 변수인 hobby가 있다.

 

 

 

그런데, 생성자 자체를 만들지 않고, 부모의 생성자를 이어받아 쓰고싶다.

 

다시 말해서 c.printChild();를 쓰지 않고(새로운 함수를 만들지 않고), 부모의 print 함수를 쓰고싶다.

 

이처럼 새로운 함수를 만들지 않아도 부모의 함수를 응용해서 쓸 수 있는 것을 메소드 오버라이딩이라고 한다.

 

 

 

 

 

 

기존에 있던 printChild 함수 부분을 지우고, 부모의 child함수를 오버라이딩 할 것이다.

 

 

 

 


오버라이딩 할 때에는 @Override를 붙이는 이유는, 다른 사람과 협업할 때 오버라이딩했다는 것을 다른사람이 인식할 수 있게끔 하기 위함이다.

 

 

 

 

 

부모의 print를 상속받은 후, 더하여 hobby 부분을 쓰면 메소드 오버라이딩할 수 있다. 

 

그러나 두 줄로 print가 나오므로, 한줄로 쓰고 싶다면 아래와 같이 코드를 짜면 된다.