[Java] 8. 오버라이딩(Overriding)과 오버로딩(overloading)


그냥 심플하게 코딩 예제.. 포스팅


1. 오버라이딩(Overriding)과 오버로딩(overloading) 예제

  • 오버라이딩(Overriding)은 상속받은 기존의 메소드를 재정의하는 것
    • @Overriding 를 메서드에 선언으로 해당 메서드가 오버라이딩 되었다는 것을 나타냄
  • 오버로딩(Overloading)은 새로운 메소드를 정의하는 것
    • 한 클래스 안에 같은 이름의 메서드를 여러개 정의 하는 것
    • 메서드 이름이 같아야 하면, 매개변수 개수 또는 타입이 달라야 함


class Parent {

    void hello() {
        System.out.println("부모 클래스의 hello() 메서드");
    }
}

class Child extends Parent {

    //오버라이딩
    //@Override
    void hello() {
        System.out.println("자식 클래스의 오버라이딩 hello() 메서드");
    }

    //오버로딩
    void hello(String str) {
        System.out.println("자식 클래스의 오버로딩 된 hello() 메서드 " + str);
    }

}

public class ExOverridingOverloading {

    public static void main(String[] args) {

        Child ch = new Child();
        //자식 클래스에서 오버라이딩
        ch.hello();
        //오버로딩
        ch.hello("World");

    }

}