클래스의 구조
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | <?php class MyClass { private $var ; protected $protectedVar ; public function __construct( $pram ) { $this -> var = $pram ; } public function __destruct() { } public function __get( $name ) { return $this -> $name ; } public function __set( $name , $value ) { $this -> $name = $value ; } public function myMethod( $param ) { echo 'Parameter: ' . $param . '<br />' ; } } $a = new MyClass( 'myString' ); // __construct() 자동호출(생성자) echo $a -> var . '<br />' ; // __get() 자동호출 $a -> var = 'newString' ; // __set() 자동호출 echo $a -> var . '<br />' ; // __get() 자동호출 $a ->myMethod( 'myParam' ); // myMethod() 호출 ?> |
- 접근제어 지시자
- private : 클래스 내부에서만 접근 가능.
- protected : 클래스 내부에서만 접근 가능하지만 상속된 하위 클래스에서도 접근 가능.
- public : 클래스 내외부 모두 접근 가능. 기본값으로 아무 것도 지정해주지 않으면 public으로 선언됨.
- 기본 메소드
- __construct() : 생성자. 클래스 생성시 자동 호출.
- __destruct() : 소멸자. 파라미터를 갖지 못한다. 클래스가 소멸될 때 자동 호출.
- __get() : 변수의 값을 가져올 때 자동 호출되는 메소드
- __set() : 변수의 값을 조작할 때 자동 호출되는 메소드
- PHP는 오버로딩을 지원하지 않는다.
상속과 오버라이딩