PHP Source (ch09/exam09-02.php)
단계: 0 / 0
1<?php
3class Foo {
5public $var = 'Object-Oriented Programming!<br>';
7public function printItem($string) { echo 'Foo: ' . $string . '<br>'; }
11public function printPHP() { echo 'PHP is great.<br>'; }
14}
16class Bar extends Foo { // Foo 상속
18public function printItem($string) { echo 'Bar: ' . $string . '<br>'; } // 오버라이딩
21}
23$foo = new Foo(); // Foo 인스턴스 생성
24$bar = new Bar(); // Bar 인스턴스 생성 (Foo 상속)
26$foo->printItem('baz');
27$foo->printPHP();
28echo $foo->var;
30$bar->printItem('baz');
31$bar->printPHP();
32echo $bar->var;
34?>
상속 및 메소드 디스패치 테이블
$foo (인스턴스 Foo)
printItem('baz') → Foo::printItem()
printPHP() → Foo::printPHP()
$bar (인스턴스 Bar extends Foo)
printItem('baz') → Bar::printItem() (재정의됨)
printPHP() → 부모 Foo::printPHP() (상속받음)
🖥️ 브라우저 화면 출력 (echo Live Preview)
클라이언트 렌더링