happy cat image

everdevel

hello world

EEOS

에버디벨 책을 학습할 수 있는 클라우드 개발 환경을 제공합니다.
개발환경구축없이 태블릿에서도 개발할 수 있는 책의 예제와 프로젝트
오직 당신을 위한 스토리지, URL, DB, 무제한 트래픽
그리고 웹기반 개발환경을 제공합니다.

더 알아보기
에버디벨이 만든 무료 클라우드 개발환경을 소개합니다.

접근제한자 테스트

앞에서 학습한 접근제한자에 대해서 테스트 해봅시다.

protected 테스트

protected는 선언한 클래스에서도 사용할 수 있으며, 상속된 자식 클래스에서도 사용할 수 있습니다.

<?php
    class bumo
    {
        protected $bumo = '부모의 차';
    }

    class jasik extends bumo
    {
        public function rentCar()
        {
            return $this->bumo.'를 빌려 탑니다.';
        }
    }

    $test = new jasik;
    echo $test->rentCar();
?>

(로그인을 하시면 위의 코드를 실행 할 수 있습니다.
oAuth인증 방식으로 빠르고 간편하게 로그인할 수 있습니다.
네이버, 구글, 카카오, 라인의 ID로 순식간에 로그인 하세요.)

위 코드의 결과

위 코드는 부모 클래스에서 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();
?>

(로그인을 하시면 위의 코드를 실행 할 수 있습니다.
oAuth인증 방식으로 빠르고 간편하게 로그인할 수 있습니다.
네이버, 구글, 카카오, 라인의 ID로 순식간에 로그인 하세요.)

위 코드의 결과

isset함수는 해당 변수수의 존재 유무를 판단해 존재하면 true, 없으면 false를 반환합니다.


    
    

강좌로 돌아가기

댓글 0개

정렬기준