객체로 접근하기
---------------------------------------------------------------------------------------------------------
1. static function() 함수 내에서는 $this 사용할 수 없다.
2. function() 함수가 static 이든 아니든 클래스 내의 임의의 함수 내에서는
self::function();
$this->function();
어떤식으로 하던 호출 가능하다.
3. static $filed 이면 $this->filed; self::$filed; 어떻게든 접근 가능하다.
4. $this->filed; 는 $filed가 static 이든 아니든 상관없이 접근 가능하다.
:: 로 접근하기
---------------------------------------------------------------------------------------------------------
1. Class::function();
-> function() 함수가 static이든 아니든 호출되며... 호출시 객체가 생성 되지 않는다(생성자가 실행되지 않는다).
-> function() 함수 내에 $this 사용할 수 없다.
-> function() 함수 내에 self::function2() 함수 호출 할 수 있다(function2함수는 static이든 아니든 호출된다).
-> function() 함수 내에 self::$filed 멤버 변수 참조 할 수 있다. 단 $filed 변수는 static 이여야 한다.
2. self::$filed;
-> $filed 맴버 변수는 static 이어야 한다.
:: 이걸로 클래스 함수를 호출 할때 함수가 static 이든 아니든 모두 static으로 취급한다.
:: 이걸로 클래스 변수를 호출 할때 변수는 static 으로 선언되어야 한다.