클래스의 구조
<?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는 오버로딩을 지원하지 않는다.
상속과 오버라이딩