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