메서드 오버라이딩(Method Overriding)에 대한 설명으로 올바른 것은?
메서드 오버라이딩(Method Overriding)에 대한 설명으로 올바른 것은?
<?php
class Fruit {
public function intro() {
echo "I am a fruit";
}
}
class Apple extends Fruit {
public function intro() {
echo "I am an apple";
}
}
$apple = new Apple();
$apple->intro();
?>
정답: C
메서드 오버라이딩은 자식 클래스에서 부모 클래스의 메서드를 재정의하는 기능입니다.
오버라이딩의 작동 원리:
⦁ 같은 이름의 메서드: 부모와 자식에서 동일한 메서드명 사용
⦁ 우선순위: 자식 클래스의 메서드가 부모 클래스의 메서드를 덮어씀
⦁ 완전 대체: 부모의 메서드는 호출되지 않고 자식의 메서드만 실행
⦁ 동적 바인딩: 실제 객체의 타입에 따라 어떤 메서드를 호출할지 결정
실행 결과:
Apple 객체에서
intro()
호출 시 Apple 클래스에 정의된 메서드가 실행되어 "I am an apple"만 출력됩니다.
💡 학습 팁
이 문제를 포함한 PHP 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.