접근제한자 public, private, protected 정의

2022. 3. 4. 11:54PHP

접근제한자란

접근제한자란 멤버변수나 메소드의 어디에서 액세스 할 수 있는지를 지정하는 것입니다. 지정에는 public, private, protected의 3가지 중 하나를 지정합니다.

 

차이점

public - 클래스내, 클래스 외의 어디에서라도 액세스 가능
private - 같은 클래스안에서만 액세스 가능, 상속 불가, 직접 접근 불가
protected - 같은 클래스 및 자식클래스에서 액세스 가능, 상속 가능, 직접 접근 불가

 

코드

<?php
    class ParentClass{
      public $_public = 'public';
      protected $_protected = 'protected';
      private $_private = 'private';
    }
    class ChildClass extends ParentClass{
      function callPublic(){
        echo $this->_public;
      }
      function callProtected(){
        echo $this->_protected;
      }
      function callPrivate(){
        echo $this->_private;
      }
    }
    $obj = new ChildClass();
    echo $obj->_public; // public 출력
    echo $obj->_protected; // 오류
    echo $obj->_private; // 오류
    $obj->callPublic(); // public 출력
    $obj->callProtected(); // protected 출력
    $obj->callPrivate(); // 오류
?>

'PHP' 카테고리의 다른 글

Eloquent ORM 이란  (0) 2022.12.14
static 정의  (0) 2022.03.04
PHP 비트 연산자  (0) 2022.03.02
객체지향 5원칙(SOLID) - 리스코프 치환 원칙  (0) 2022.02.17
Interface와 abstract의 차이  (0) 2022.02.17