PHP
접근제한자 public, private, protected 정의
역발산기개세
2022. 3. 4. 11:54
접근제한자란
접근제한자란 멤버변수나 메소드의 어디에서 액세스 할 수 있는지를 지정하는 것입니다. 지정에는 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(); // 오류
?>