Programming/PHP(더이상쓰지않음)

[PHP]정적(static)에 대하여

SEUNGSAMI 2019. 1. 28. 10:43
instance간에 서로 데이터를 공유해야 할 경우 이러한 데이터를 static 멤버라고 한다.

static멤버에는 변수와 메소드가 존재 하는데

class::변수명 으로 접근을 한다

::는 스코프 해결 연산자이다.

이 ::는 static과 같은 클래스의 재정의된 프로퍼티나 메소드에 접근할수 있도록 해주는 토큰이다.

정적 메소드의 호출은 마찬가지로 class::메소드명() 으로 접근한다.

정적메소드란 객체로부터가 아닌 클래스로부터 호출되는 메소드를 의미한다. 이 정적 메소드는 어떤 객체 속성에도 접근성을 갖지 않는다.
 
class A {
	static function print_hello() {
		echo "Hello World!";
	}
}

A::print_hello(); // A클래스의 static형 print_hello(), Hello World! 출력
 

정적 멤버 함수의 경우 instance가 생성되기 전에 사용이 가능하므로,
 $this->를 사용할 수가 없지만, 정적멤버 변수는 사용 가능하다.

 



배운지 얼마 되자 않은 지식이라 잘못된 부분이 있을 수있습니다. 그러한 것은 댓글로 달아주시면 감사하겠습니다.