여러분이 사용하고 계신 브라우저는 HTML5를 지원하지 않기 때문에 몇몇 요소가 제대로 보이도록 JScript를 사용하고 있습니다. 하지만 여러분의 브라우저 설정에서 스크립트 기능이 꺼져있으므로, 현재 페이지를 제대로 확인하시려면 스크립트 기능을 켜주셔야 합니다. PHP - 기초 - OOP 특성
PHP – 기초 – OOP 특성
2년전 작성
8개월전 수정

특성

PHP는 단일 상속만 지원한다.
자식 클래스는 한 부모로부터만 상속할 수 있다.

그렇다면 클래스가 여러 동작을 상속해야 하는 경우 어떻게 해야 할지 알아보자.
OOP 특성은 이 문제를 해결한다.

특성은 여러 클래스에서 사용할 수 있는 메서드를 선언하는 데 사용된다.
특성에는 여러 클래스에서 사용할 수 있는 메서드와 추상 메서드가 있을 수 있으며 메서드에는 모든 액세스 한정자(공개, 비공개 또는 보호)가 있을 수 있다.

특성은 trait 키워드로 선언한다.

trait TraitName {
// 코드 입력
}

class MyClass {
use TraitName;
}

이런식으로 입력한다.

예시

예시를 통해 공부하자.

PHP
<?php
trait message1 {
public function msg1() {
echo "OOP is fun! "; 
}
}

class Welcome {
use message1;
}

$obj = new Welcome();
$obj->msg1();
?>
기본 예시
OOP is fun!

다중 특성 사용

PHP
<?php
trait message1 {
public function msg1() {
echo "OOP is fun! "; 
}
}

trait message2 {
public function msg2() {
echo "OOP reduces code duplication!"; 
}
}

class Welcome {
use message1;
}

class Welcome2 {
use message1, message2;
}

$obj = new Welcome();
$obj->msg1();
echo "
"; $obj2 = new Welcome2(); $obj2->msg1(); $obj2->msg2(); ?>
기본 예시
OOP is fun!
OOP is fun! OOP reduces code duplication!
참고

Mingg`s Diary
밍구
공부 목적 블로그