호비시의 끄적끄적
객체 확장 본문
객체확장(상속)
extends
자식 클래스 extends 부모 클래스
- 자식 클래스는 부모 클래스의 (접근 가능한)속성과 메서드에 접근 및 호출이 가능하다.
(public 과 protected 속성 만 가능/ private 속성은 불가능)
외부에서 접근이 가능한가?
가능
public
불가능
protected - 상속받은 자식클래스 내부에서 접근이 가능
private
<?php
class ClassA{
public function method1(){
echo __METHOD__."<br>";
}
protected function method2(){
echo __METHOD__."<br>";
}
private function method3(){
echo __METHOD__;
}
}
class ClassB extends ClassA{
}
$obj = new ClassB();
$obj->method1();//정상 작동
$obj->method2();//에러
$obj->method3();//에러
?>
public 인 method1 정상 작동
protected인 method2 에러
상속은 되지만 하위 클래스 외부에서 접근하였기 때문에 에러
private 인 method3 에러
추상 클래스
하위 클래스간의 표준을 만들어주는 클래스
하위 클래스가 반드시 정의해야 하는 메서드
정의만 해주고 상속받는 하위 클래스에서 반드시 구현을 해야한다.
Comments