Binding

오버로딩과 오버라이딩 판정표

두 개념은 이름이 비슷하지만 기준이 다르다. 매개변수 목록이 다른지, 상속 관계에서 부모 메소드를 다시 정의하는지부터 본다.

오버로딩
한 클래스 안에서 같은 이름을 여러 형태로 제공 매개변수 개수나 타입이 달라야 하며 반환형만 다르면 부족하다.
정적 바인딩
오버라이딩
자식 클래스가 부모 동작을 다시 정의 상속 관계와 같은 시그니처가 핵심이며 다형성과 연결된다.
동적 바인딩
정적 바인딩
컴파일 시점에 호출 대상 결정 오버로딩처럼 타입 정보만으로 호출 함수가 정해지는 경우다.
compile time
동적 바인딩
실행 시 실제 객체 타입으로 결정 부모 참조가 자식 객체를 가리킬 때 재정의 메소드가 호출된다.
runtime