답변 1:
근본적인 차이점:
재작성(리팩토링)은 매우 직관적입니다. 하위 클래스는 동일한 이름과 동일한 매개변수를 사용하여 상위 클래스의 메서드를 재정의합니다. 하위 클래스에 의해 호출되는 것은 이름이 같은 재정의된 메서드
뿐입니다.
답변 2:
1. 오버로딩:
메서드 이름은 같지만 매개변수 목록이 다릅니다
2. 다시 쓰기: 덮어쓰기라고도 하는
은 상위 클래스의 메서드와 이름 및 매개변수 목록이 동일한 하위 클래스의 메서드를 정의하는 것을 의미합니다. 하위 클래스는 상위 클래스의 메서드를 상속하므로 다시 작성한다는 것은 상위 클래스에서 상속된 메서드를 재정의하고 메서드의 코드를 다시 채우는 것을 의미하기 때문입니다.
3번 답:
重写是子类的方法覆盖父类的方法,要求方法名和参数都相同<br>重载是在同一个类中的两个或两个以上的方法,拥有相同的方法名,但是参数却不相同,方法体也不相同,最常见的重载的例子就是类的构造函数,可以参考API帮助文档看看类的构造方法<br>
4번 답:
1. 재정의는 상속되어야 하며 오버로딩은 필요하지 않습니다.
2. 재정의된 메서드 이름은 동일한 수의 매개변수와 호환되는 매개변수 유형을 갖습니다. 오버로드된 메서드 이름은 이름은 같지만 매개변수 목록이 다릅니다.
3. 재정의된 메서드 수정자는 상위 클래스 메서드보다 크거나 같고 오버로딩은 수정자와 관련이 없습니다.
4. 재작성은 상위 클래스에서 발생하지 않는 일반 예외는 발생시킬 수 없지만 런타임 예외는 발생시킬 수 있습니다.
이상에서는 메소드 오버로딩의 내용을 포함하여 메소드 오버로딩과 재작성의 차이점을 소개했습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.