본문 바로가기

취업/준비

Overriding VS Overloading (오버라이딩 VS 오버로딩)

공통점

  • 둘 다 다형성을 지원하는 방법이다.
  • 이름이 같은 메소드를 상황에 맞춰 다양하게 이용할 수 있도록 하여 다형성을 지원한다.

차이점

Overriding 오버라이딩

  • 부모 클래스로부터 상속받은 메소드를 재정의하는 방법이다.
  • 메소드 이름은 물론 return 타입, parameter 타입, 개수, 순서가 모두 동일해야 한다.
    • return type이 같다는 것은 자동 캐스팅이 가능한 경우도 포함한다.
  • body 내용만 다를 수 있다.

Overloading 오버로딩

  • 같은 이름의 메소드/생성자를 한 클래스 내에서 여러 방법으로 사용할 수 있게 하는 방법이다.
  • parameter 타입이나 개수 혹은 둘 다 달라야 한다.
  • return 타입은 같아도, 같지 않아도 상관 없다.