접근제한자 테스트
앞에서 학습한 접근제한자에 대해서 테스트 해봅시다.
protected 테스트
protected는 선언한 클래스에서도 사용할 수 있으며, 상속된 자식 클래스에서도 사용할 수 있습니다.
<?php
class bumo
{
protected $bumo = '부모의 차';
}
class jasik extends bumo
{
public function rentCar()
{
return $this->bumo.'를 빌려 탑니다.';
}
}
$test = new jasik;
echo $test->rentCar();
?>
위 코드의 결과
위 코드는 부모 클래스에서 protected로 프로퍼티를 선언했습니다. 그래서 자식 클래스에서도 해당 프로퍼티를 사용할 수 있었습니다.
이번엔 같은 코드에 protected를 private로 변경해서 해볼게요.
그럼 당연히 부모클래스에서만 사용할 수 있는 프로퍼티 이므로 자식 클래스에서는 사용할 수 없습니다.
<?php
class bumo
{
private $bumo = '부모의 차';
}
class jasik extends bumo
{
public function rentCar()
{
if(isset($this->bumo)){
return $this->bumo.'를 빌려 탑니다.';
} else {
return '차를 빌려 탈 수 없습니다.';
}
}
}
$test = new jasik;
echo $test->rentCar();
?>
위 코드의 결과
isset함수는 해당 변수수의 존재 유무를 판단해 존재하면 true, 없으면 false를 반환합니다.