다음 코드의 실행 결과는?
다음 코드의 실행 결과는?
<?php
interface Flyable {
public function fly();
}
class Bird implements Flyable {
public function fly() {
echo "Bird flies ";
}
}
class Airplane implements Flyable {
public function fly() {
echo "Airplane flies ";
}
}
$objects = [new Bird(), new Airplane()];
foreach($objects as $obj) {
$obj->fly();
}
?>
정답: A
이 코드는 인터페이스의 핵심 개념인 다형성(polymorphism)을 보여줍니다.
다형성의 작동 원리:
1. 공통 인터페이스:
Bird
와 Airplane
모두 Flyable
인터페이스 구현2. 동일한 메서드: 둘 다
fly()
메서드를 가짐3. 다른 구현: 각자의 방식으로
fly()
메서드 구현4. 통합 처리: 배열에 담아 동일한 방식으로 처리 가능
실행 과정:
⦁
$objects
배열에 두 객체 저장⦁
foreach
루프에서 각 객체의 fly()
메서드 호출⦁ 첫 번째 반복:
new Bird()->fly()
→ "Bird flies " 출력⦁ 두 번째 반복:
new Airplane()->fly()
→ "Airplane flies " 출력
💡 학습 팁
이 문제를 포함한 PHP 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.