Overload vs Override

오버로딩은 같은 이름의 입력 다양화, 오버라이딩은 부모 동작의 재정의다

같은 이름이라는 공통점 때문에 헷갈리지만, 기준은 매개변수인지 상속 후 재정의인지로 갈린다.

한눈 비교

Overloading

같은 이름, 다른 매개변수

print(int) print(String)

입력 형태가 달라서 컴파일러가 호출 대상을 고른다.

Overriding

부모 메소드, 자식이 재정의

Animal.sound() Dog.sound()

실제 객체 타입에 맞는 구현이 실행된다.