반응형
접근제어자(access modifier)
static.php
<?php
//클래스 변수
//고정된 이라는뜻
// static : 모든 인스턴스가 공유하는 변수 만들기!!
//static 변수는 class 명으로 바로 접근할 수 있다.(instance 즉 객체를 만들지 않고 접근가능하다.)
class Person{
private $name; //다른 객체가 접근할 수 없다. 즉 공통으로 사용할 수 없다.
private $count = 0;
//생성자: 객체가 생성될때 필요한 값을 셋팅한다.
function __construct($name){
$this->name = $name;
$this->count = $this->count +1;
}
function enter(){
echo "<h1>Enter ".$this->name." {$this->count} th</h1><br>";
}
}
$p1 = new Person('abcnt');
$p1 ->enter();
$p2 = new Person('하하하');
$p2 ->enter();
$p1 = new Person('호호호');
$p1 ->enter();
?>
static2.php
<?php
//클래스 변수
//고정된 이라는뜻
// static : 모든 인스턴스가 공유하는 변수 만들기!!
//static 변수는 class 명으로 바로 접근할 수 있다.(instance 즉 객체를 만들지 않고 접근가능하다.)
class Person{
//인스턴스 변수
private $name; //다른 객체가 접근할 수 없다. 즉 공통으로 사용할 수 없다.
//클래스 변수 // 모든 인스턴스가 공유한다!!
//클래스 변수에는 self::를 사용한다.
private static $count = 0;
//생성자: 객체가 생성될때 필요한 값을 셋팅한다.
function __construct($name){
$this->name = $name;
self::$count = self::$count +1;
}
function enter(){
echo "<h1>Enter ".$this->name." ".self::$count." th</h1><br>";
}
//클래스 이름으로 호출되려면 static을 호출해야 한다.
static function getCount(){
//클래스 변수에는 self를 사용한다.
return self::$count;
}
}
$p1 = new Person('abcnt');
$p1 ->enter();
$p2 = new Person('하하하');
$p2 ->enter();
$p1 = new Person('호호호');
$p1 ->enter();
//클래스 변수 호출
echo Person::getCount();
?>
반응형
'PHP 박살내기 > PHP' 카테고리의 다른 글
[PHP기초] 클래스 맴버 만들기(static) (0) | 2017.09.06 |
---|---|
[PHP기초] 상속기본 (0) | 2017.09.05 |
[PHP기초] 생성자(인스턴스 초기화) (0) | 2017.09.01 |
[PHP기초] 클래스와 인스턴스 그리고 메소드 만들기 (2) | 2017.09.01 |
[PHP기초] 함수와 객체의 비교 (0) | 2017.09.01 |
댓글