happy cat image

everdevel

coding

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
























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

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

오버라이딩

오버라이딩에 대해서 알아 볼게요.
말은 어렵지만 간단해요.
부모클래스가 가진 메소드를 자식클래스에서 기능을 재정의하거나 기능을 더하는것을 의미해요.
즉 부모클래스의 hello()라는 메소드가 있을 때 자식 클래스에서 같은 이름의 메소드 hello()를 생성하여 사용하는것입니다.

<?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 stateOfTheArtAIDrivingSystem()
        {
            return "기존 구글 AI 드라이빙에 기능을 더해 모든 차량에 IOT를 활용해 연결하고 차와 인간의 뇌를 연결하여 운전하는 동안 뇌를 정지시켜 인간의 개입없이 사고가 절대 일어 날 수 없는 AI 드라이빙";
        }
    }
    $ever = new Car;
    echo $ever->stateOfTheArtAIDrivingSystem();
?>

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

위의 방식을 오버라이딩이라고 합니다.
부모클래스의 메소드와 이름을 동일시하여 기능을 재정의합니다.
같은 메소드명이라면 부모 클래스가 아닌 자식 클래스의 메소드를 불러오는 것을 알 수 있습니다.

위 코드의 결과

만약, 어떠한 메소드가 정말 중요한 기능으로 누군가 오버라이딩 할 수 없도록 하고 싶을 수 있습니다.
다음에는 오버라이딩을 할 수 없도록 만드는 방법에 대해 알아보겠습니다.


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

농구 황제가 아닌 인간 마이클 조던의 삶, 그가 거둔 무수한 실패와 성공을 기록한 책. “우리가 몰랐던 이야기……. 빛나는 영웅의 삶 이면에 존재하던 외롭고 자존심 강한 한 남자를 매우 흥미롭게 파고들었다.” - 《퍼블리셔스 위클리》

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


    
    

강좌로 돌아가기

댓글 0개

정렬기준