ch09 / exam09-05.php

프로퍼티 접근 제어자 (public, protected, private) 시각화

외부 접근 가능 여부 및 내부 메소드($this)를 통한 은닉 프로퍼티 접근

PHP Source (ch09/exam09-05.php)
단계: 0 / 0
1<?php
3class MyClass {
5public $public = 'Public';
6protected $protected = 'Protected';
7private $private = 'Private';
9function printHello() {
11-16echo $this->public . '<br>' . $this->protected . '<br>' . $this->private . '<br>';
18}
19}
21$obj = new MyClass();
22echo $obj->public; echo '<br>'; // Public 정상 출력
24-27// echo $obj->protected; // Fatal Error!
// echo $obj->private; // Fatal Error!
28$obj->printHello(); // 내부에서는 모두 정상 접근
29?>
준비 완료 실행 버튼 또는 다음 단계를 눌러주세요.
접근 제한자(Visibility) 매트릭스
제한자외부($obj->)내부($this->)
publicO (허용)O (허용)
protectedX (치명적 오류)O (허용)
privateX (치명적 오류)O (허용)
http://localhost/ch09/exam09-05.php

정보 은닉(Encapsulation)