happy cat image

everdevel

coding

login
알림X
  • 현재 댓글에 대한 답변만 표시합니다.
  • 표시할 댓글 이력이 없거나 로그인해 주세요.
























everdevel이 만든 무료 클라우드 개발환경을 소개합니다.

방문해 주셔서 감사합니다.

인터페이스 상속

인터페이스를 상속할 때도 클래스와 마찬가지로 extends 키워드를 사용합니다.

interface 상속 사용 방법

interface 자식인터페이스명 extends 부모인터페이스명
{
}

코드로 볼까요?

<?php

    interface parentinter
    {
        public function auto();
    }

    interface childinter extends parentinter
    {
        public function run();

        public function stop();

        public function turn();

    }

    class Car implements childinter
    {

        public function run()
        {
            return '달립니다.';
        }

        public function stop()
        {
            return '멈춥니다.';
        }

        public function turn()
        {
            return '회전합니다.';
        }

    }

    $hello = new Car;
    echo $hello->run();
?>

결과는 바로 아래에서 확인하겠습니다.

위 코드를 보면 Car 클래스는 인터페이스 childinter를 따릅니다. childinter의 규칙에는 맞으나, childinter 인터페이스는 부모 인터페이스를 상속 받았고
부모 인터페이스인 parentinter에는 auto()가 있습니다. 그래서 childinter에는 메소드 auto()를 선언해야합니다.
하지만 않아서 오류가 발생했죠.

위 코드의 결과

위의 코드에서 Car 클래스에 auto() 메소드를 추가하여 오류가 발생하는지 안하는지 살펴봅시다.

<?php

    interface parentinter
    {
        public function auto();
    }

    interface childinter extends parentinter
    {
        public function run();

        public function stop();

        public function turn();

    }

    class Car implements childinter
    {

        public function run()
        {
            return '달립니다.';
        }

        public function stop()
        {
            return '멈춥니다.';
        }

        public function turn()
        {
            return '회전합니다.';
        }

        public function auto()
        {
            return '자동운전 모드';
        }

    }

    $hello = new Car;
    echo $hello->auto();
?>

결과는 바로 아래에서 확인하겠습니다.

위 코드의 결과


봐주셔서 감사합니다. 문의 또는 잘못된 설명은 아래의 댓글에 부탁드립니다.
당신의 작은 누름이 저에게는 큰 희망이 됩니다.

컨텐츠의 내용을 더 보려면 바로 아래에서 확인할 수 있습니다.


    
    

강좌로 돌아가기

댓글 0개

정렬기준