티스토리 뷰

개발지식/PHP

PHP Trait란

kimty1121 2024. 8. 29. 12:52

Laravel에 있어서의 「Trait(트레이트)」란, 재이용 가능한 메소드의 모임을 가리키는 PHP의 기능을 말한다.

Trait는 클래스로 직접 가져와 해당 클래스의 메서드를 확장하기 위해 사용된다.
Trait는 상속의 제약을 갖지 않기 때문에 여러 클래스에서 동일한 메서드나 속성을 공유하고 싶은 경우에 유효하다

 

항목 계승(extends) Trait
계층구조 있음 없음
게승제약 1개의 클래스 복수의Trait를 동시이용 가능
코드 공유범위 게층내 공유 다른 클래스간 공유
유연성 제한적 (고정계층구조) 유연함
맴버의상속 있음 없음
코드변경 영향범위 자식 클래스만 영향 사용되는 모든 부분

 

 

trait SwimTrait {
    public function swim() {
        echo "The animal is swimming.";
    }
}​
class Animal {
    public function eat() {
        echo "The animal is eating.";
    }

    public function sleep() {
        echo "The animal is sleeping.";
    }
}
class Dolphin extends Animal {
    use SwimTrait;
}

'개발지식 > PHP' 카테고리의 다른 글

PHP int 0값과 비교의 주의점  (0) 2024.03.18
PHP의 Null, 공백 체크  (0) 2023.11.14
PHP 7, 8변경점  (0) 2023.11.05