오버로딩
오버로딩(Overloading) 은 클래스 내에서 같은 이름의 메서드를 여러 개 정의하는 것을 말합니다. 중요한 점은 매개변수의 개수, 타입, 순서가 달라야 합니다. 반환 타입만 다른 경우는 오버로딩이 성립하지 않습니다.
오버라이딩
오버라이딩(Overriding) 은 상위 클래스의 메서드를 하위 클래스에서 재정의하는 것을
말합니다. 상위 클래스의 메서드 시그니처(메서드명, 매개변수 타입, 개수, 순서)와 반환 타입이 동일해야 하며, 접근 제어자는 상위 클래스와 같거나 더 넓은 범위로 변경할 수 있습니다.