PHP
static 정의
역발산기개세
2022. 3. 4. 12:34
static이란
클래스를 정의할 때 static 키워드를 사용한 프로퍼티와 메소드는 해당 클래스의 인스턴스를 생성하지 않아도 접근할 수 있게 됩니다. 이러한 프로퍼티와 메소드를 정적 멤버(static member)라고 합니다.
코트 예시
<?php
class A
{
public static $message = 'Hello, werld';
public static function foo()
{
return static::who();
}
public static function who()
{
var_dump(__CLASS__);
}
}
$a = new A();
$a->foo(); // A 출력
A::who(); // A 출력
$a::who(); // A 출력
A->who(); // 오류
?>
정리
기존 클래스 밖에서 해당하는 변수나 함수에 접근하기 위해서는 인스턴스를 생성해서 접근을 해야 했지만
static은 바로 접근이 가능합니다. 접근을 할 경우에는 클래스명::접근하고자하는 변수나 함수로 작성을 하면 됩니다.