happy cat image

everdevel

Web Technology, 에버디벨

UI 변경

EEOS

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

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

클래스 상속

다른 클래스의 기능을 사용하려면 상속 기능을 사용합니다.
extends 키워드를 사용합니다.

클래스 상속 방법

class 자식 클래스명 extends 부모 클래스

그럼 앞의 강좌에 이어서...

앞의 예제가 자식 클래스가 되고 부모클래스를 하나 만들어서 상속시켜볼게요.
구글에서 최첨단 AI드라이빙 시스템을 만들었다고 해보고 이를 클래스로 먼저 간단하게 만들어 봅시다.

<?php
    class GoogleCar
    {
        public function stateOfTheArtAIDrivingSystem()
        {
            return "구글 AI 드라이빙";
        }
    }
?>

위에서 GoogleCar라는 클래스를 만들었습니다.
이것을 상속 시켜서 Car클래스의 인스턴스를 생성하여 GoogleCar 클래스에 잇는 stateOfTheArtAIDrivingSystem()메소드를 불러볼게요.

<?php

    class GoogleCar
    {
        public function stateOfTheArtAIDrivingSystem()
        {
            return "구글 AI 드라이빙";
        }
    }

    class Car extends GoogleCar
    {
        public $wheels;
        public $doors = 4;
        protected $color = 4;
        private $size;
        private $company;

        public function run()
        {
            return "자동차가 달립니다.";
        }

        protected function stop()
        {
            return "자동차가 멈춥니다.";
        }

        protected function turn()
        {
            return "자동차가 회전합니다.";
        }
    }
    $honda = new Car;
    echo $honda->stateOfTheArtAIDrivingSystem();
?>

위 코드의 결과

프로그래머간 암묵적 약속으로 하나의 파일에 하나의 클래스를 선언합니다.
위의 경우는 예제를 위해서 한곳에서 2개의 클래스를 선언해봤습니다. ^^;
이번에는 부모 클래스에 있는 프로퍼티를 자식 클래스의 인스턴스에서 사용해 볼게요.

<?php

    class GoogleCar
    {
        public $parentCompany = 'google';

        public function stateOfTheArtAIDrivingSystem()
        {
            return "구글 AI 드라이빙";
        }
    }

    class Car extends GoogleCar
    {
        public $wheels;
        public $doors = 4;
        protected $color = 4;
        private $size;
        private $company;

        public function run()
        {
            return "자동차가 달립니다.";
        }

        protected function stop()
        {
            return "자동차가 멈춥니다.";
        }

        protected function turn()
        {
            return "자동차가 회전합니다.";
        }
    }
    $honda = new Car;
    echo $honda->parentCompany.'의 기술을 사용한 ';
    echo $honda->stateOfTheArtAIDrivingSystem();
?>

위 코드의 결과

클래스 GoogleCar의 프로퍼티와 메소드의 접근제한자가 public이 아니었다면 위의 코드는 정상작동하지 않습니다.
이제 접근제한자에 대해서 테스트 해봅시다.

2019년 에버디벨이 제안하는 클라우드 개발환경(EEOS)이 드디어 오픈했습니다.
이제 개발환경구축없이 웹브라우저에서 웹개발하자
HTML5, CSS3, JavaScript를 넘어 MySQL, PHP까지
앞으로 지원 언어는 더 늘어날 예정 react, node, angular등
웹브라우저만 있다면 기기도 가리지 않아요. 이제 아이패드에서도 웹개발해요.!!
자기만의 클라우드 에디터, 저장공간, 데이터베이스, 접속 URL(eeosXXX.adjkl.com/eeos/)을 제공해요.
현재 웹코딩 시작하기와 PHP200 독자는 mybook(책과 관련된 기능 제공)에서 사용할 수 있습니다.

EEOS 신청하기 EEOS 알아보기

강좌로 돌아가기