oop2

developer_walk·2020년 5월 26일
0

PHP

목록 보기
3/4
post-thumbnail
<?php
class Youtube{
  public static $static="shuki";
  public static function showShuki(){
    echo self::$static;
  }
  public $bj;
  public $arr_test=array();
  public $bj_use=array();
  public $good_chs=array('vlog','review','eating','game');
  public function check($ch){
    return in_array($ch,$this->good_chs);
  }
}

$learnup=new Youtube();
$learnup->bj='chanjun';
$learnup->bj_use=array('vlog','eating','chungdam');
$a=array();

foreach($learnup->bj_use as $key =>$value){
  if($learnup->check($value)){
    array_push($learnup->arr_test,$value);
  }
}

var_dump($learnup->arr_test);     //vlog eating 나와야

$learnup->showShuki();
echo "dd{$learnup->static}";   //출력안된다.
echo "되는구나!FFF";

 ?>

static 키워드
클래스를 정의할 때 static 키워드를 사용한 프로퍼티와 메소드는 해당 클래스의 인스턴스를 생성하지 않아도 접근할 수 있게 됩니다.

이러한 프로퍼티와 메소드를 정적 멤버(static member)라고 합니다.

이러한 정적 멤버의 특징은 다음과 같습니다.

  1. static 키워드로 선언된 정적 프로퍼티는 인스턴스화된 객체에서는 접근할 수 없습니다.

  2. static 키워드로 선언된 정적 메소드는 인스턴스화된 객체에서도 접근할 수 있습니다.

  3. 정적 메소드 내에서는 $this 의사 변수를 사용할 수 없습니다.

profile
'과연' 말고...

0개의 댓글