OOP 디스패치

오버로딩·오버라이딩 구분

같은 이름의 메소드가 나와도 시험 포인트는 다릅니다. 입력 모양이 다른지, 부모 메소드를 자식이 바꿨는지부터 분리합니다.

오버로딩

시그니처 조건같은 이름, 다른 매개변수 목록이 핵심입니다.
목적정수, 문자열처럼 여러 입력 형태를 편하게 받습니다.
주의반환형만 다르면 오버로딩으로 보지 않습니다.

오버라이딩

재정의 조건상속 관계에서 부모 메소드를 자식이 다시 정의합니다.
목적공통 명령을 객체별 동작으로 바꿔 다형성을 만듭니다.
주의호출 결과는 참조 변수보다 실제 객체 타입을 봅니다.
이름이 같은가 먼저 메소드 이름이 같은지 확인합니다.
매개변수가 다른가 다르면 오버로딩 가능성이 높습니다.
상속 관계인가 부모 메소드를 자식이 바꾸면 오버라이딩입니다.
실행 객체는 누구인가 다형성 문제는 런타임 실제 타입을 추적합니다.