PHP

[PHP] 6장 객체지향 PHP

본 토픽은 현재 준비중입니다.공동공부에 참여하시면 완성 되었을 때 알려드립니다.

클래스의 구조

<?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() 호출
?>
  • 접근제어 지시자
  1. ​private : 클래스 내부에서만 접근 가능.
  2. protected : 클래스 내부에서만 접근 가능하지만 상속된 하위 클래스에서도 접근 가능.
  3. public : 클래스 내외부 모두 접근 가능. 기본값으로 아무 것도 지정해주지 않으면 public으로 선언됨.

  • 기본 메소드
  1. __construct() : 생성자. 클래스 생성시 자동 호출.
  2. __destruct() : 소멸자. 파라미터를 갖지 못한다. 클래스가 소멸될 때 자동 호출.
  3. __get() : 변수의 값을 가져올 때 자동 호출되는 메소드
  4. __set() : 변수의 값을 조작할 때 자동 호출되는 메소드
  5. PHP는 오버로딩을 지원하지 않는다.

 

상속과 오버라이딩

 

  • 봤어요 0명

댓글

댓글 본문