[클래스] Singleton 싱글톤

· 11년 전 · 939

/*

생성자(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();  에러 발생 

|
댓글을 작성하시려면 로그인이 필요합니다.

팁게시판

디자인과 관련된 유용한 정보를 공유하세요. 질문은 상단의 QA에서 해주시기 바랍니다.

+
제목 글쓴이 날짜 조회
11년 전 조회 3,043
11년 전 조회 1,017
11년 전 조회 777
11년 전 조회 2,721
11년 전 조회 975
11년 전 조회 1,447
11년 전 조회 854
11년 전 조회 1,504
11년 전 조회 1,052
11년 전 조회 694
11년 전 조회 1,298
11년 전 조회 1,275
11년 전 조회 940
11년 전 조회 1,929
11년 전 조회 691
11년 전 조회 1,103
11년 전 조회 1,330
11년 전 조회 865
11년 전 조회 829
11년 전 조회 883
11년 전 조회 2,665
11년 전 조회 2,234
11년 전 조회 1,153
11년 전 조회 1,625
11년 전 조회 1,189