[클래스] Singleton 싱글톤
/*
생성자(new)를 통해 직접 인스턴스를 생성하지 못하게 하고 public 메소드를 통해 인스턴스에 접근하게 함으로써
사용할수 있는 인스턴스의 개수를 제한할 수 있다.
생성자가 private 라서 자손클래스에서 상속 불가능
*/
class Singleton {
private function __construct() {
}
public static function getInstance() {
if ($s == null) {
$s = new Singleton();
}
return $s;
}
public function test($a) {
echo $a;
}
}
// $s = new Singleton(); 에러 발생
$s1 = Singleton::getInstance();
$s1->test('one');
$s1->test('two');
class A extends Singleton {
}
// $a = new A(); 에러 발생
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기