[Java] 함수 오버라이딩 (Function Overriding)
자바 함수 오버라이딩(Overriding)
함수 오버라이딩(Overriding)란
함수 오버라이딩이란 상속시 부모의 클래스 함수를 재 정의 하는 것을 의미 한다.
오버로딩과 명명이 비슷해 혼동이 될 수 있는데 오버로딩은 똑같은 함수 명에 인자나 리턴값 수나 형식을 달리해서
만드는 것을 뜻한다.
[부모 클래스]
package sample; public class human { public void introduce() { System.out.println("I`m human"); } } |
[자식 클래스]
package sample; public class korean extends human { public void introduce() { System.out.println("I`m Korean"); } } |
부모인 human 클래스의 introduce 함수를 자식인 korean 클래스가 상속 받아서 다시 재정의 하고 있다.
[사용 예제]
package sample; public class sample { public static void main(String[] args) { korean k = new korean(); human h = new human();
k.introduce(); h.introduce(); } } |
[결과]
I`m Korean I`m human |
자식 클래스인 korean이 부모 클래스의 함수를 재정의 하여 결과 값이 다르게 출력 되는 것을 확인 할 수 있다.
이상으로 오버라이딩에 대해 설명 드렸습니다.
도움이 되셨나요?