PHP Source (ch09/exam09-09.php)
단계: 0 / 0
1<?php
3class Foo {
5public static $static = 'Static Property!<br>';
6public $nonStatic = 'NonStatic Property!<br>';
8public static function staticMethod() { return '[M]' . static::$static; }
12function nonStaticMethod() { return '[M]' . $this->nonStatic; }
15}
17$foo = new Foo();
19echo Foo::$static; // Static Property!
20echo Foo::staticMethod(); // [M]Static Property!
26echo $foo->staticMethod(); // 객체 변수로도 정적 메소드 호출 가능
28echo $foo->nonStatic; // NonStatic Property!
29echo $foo->nonStaticMethod();
31?>
정적(Class) vs 인스턴스(Object) 메모리 영역
클래스 정적 영역 (Foo::)
Foo::$static = 'Static Property!'
Foo::staticMethod() = 접근 연산자 (::)
인스턴스 영역 ($foo->)
$foo->nonStatic = 'NonStatic Property!'
$foo->nonStaticMethod() = 화살표 연산자 (->)