인스턴스 생성없이 트레이트의 메소드 호출하기
클래스의 메소드를 static 키워드를 사용해 인스턴스 생성없이 메소드를 호출했었죠?
네, 트레이트의 메소드도 static를 사용하면 이것이 가능합니다.이를 static을 사용하여 메소드를 호출하는 것을 메소드 정적 호출이라고 부릅니다.
트레이트 메소드에 static 사용방법
trait 트레이트명{ 접근제한자 static function 메소드명(){} }
자 그럼 예제를 통해서 볼까요.
<?php trait apple { public static function phone() { return 'iPhone'; } } class people { use apple; } echo "주토피아의 주디는 ".people::phone()."를 사용합니다."; ?>
결과
트레이트도 규칙을 정할 수 있어요. 트레이트에 선언한 규칙을 클래스에서 꼭 선언해야해요.
다음에 이것을 알아봐욤.