PHP
[PHP] 접근지정자 - Public, Protected, Private
BeomBe
2023. 11. 30. 16:30
반응형
1. public
- 해당 속성/메서드를 개체의 다른 클래스 및 인스턴스 어디에서나 사용할 수 있도록 합니다.
<?php
class Greeting
{
public $greeting='Hello World'; // A public variable
}
class Welcome extends Greeting // Inherited class
{
function displayGreeting()
{
return $this->greeting; // public 변수는 상속된 클래스에서 사용가능
}
}
// 상속된 클래스에서 Publish 변수 받기
$welcome = new Welcome;
echo $welcome->displayGreeting(); // 'Hello World'
// Public 변수는 클래스 외부에서도 사용 가능
$outsideGreeting = new Greeting;
echo $outsideGreeting->greeting; // Prints 'Hello World'
?>
2.protected
- 부모 클래스를 포함하여 현재 클래스를 확장하는 모든 클래스에서 속성/메서드를 표시하려는 경우
<?php
class Greeting
{
protected $greeting='Hello World';
}
class Welcome extends Greeting // Inherited class
{
function displayGreeting()
{
return $this->greeting; // protected 변수는 상속된 클래스에서 사용가능
}
}
// 상속된 클래스에서 protected 변수 받기
$welcome = new Welcome;
echo $welcome->displayGreeting(); // 'Hello World'
$outsideGreeting = new Greeting;
echo $outsideGreeting->greeting; // Fatal error
?>
3. private
- 속성/메서드가 자체 클래스에서만 표시되도록 하려는 경우
<?php
class Greeting
{
private $greeting='Hello World';
}
class Welcome extends Greeting
{
function displayGreeting()
{
return $this->greeting;
}
}
$welcome = new Welcome;
echo $welcome->displayGreeting(); // Undefined
$outsideGreeting = new Greeting;
echo $outsideGreeting->greeting; // Fatal error
?>
반응형