접근제한자 테스트
앞에서 학습한 접근제한자에 대해서 테스트 해봅시다.
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를 반환합니다.