트레이트를 사용하는 클래스에 반드시 선언해야하는 메소드를 지정할 수 있습니다.
똑같아요 abstract 키워드를 사용합니다.
trait 트레이트명{ abstract 접근제한자 function 메소드명(); }
자 그럼 예제를 통해서 볼까요.
<?php trait apple { //반드시 likeApple() 메소드를 선언해야해요. abstract static function likeApple(); public static function phone() { return 'iPhone'; } } class disney { use apple; } $disney = new disney; ?>
disney 클래스에서 likeApple메소드를 선언하지 않아서 오류가 발생합니다.
다음은 likeApple()메소드를 선언한 예제입니다.
<?php trait apple { //반드시 likeApple() 메소드를 선언해야해요. abstract static function likeApple(); public static function phone() { return 'iPhone'; } } class disney { use apple; public function likeApple() { return '디즈니와 애플은 서로 친해요.'; } } $disney = new disney; echo $disney->likeApple(); ?>
이렇게 abstract를 사용해 트레이트에서 메소드 규칙을 만드는 방법에 대해 알아봤습니다. ^-^*
봐주셔서 감사합니다. 문의 또는 잘못된 설명은 아래의 댓글에 부탁드립니다.
당신의 작은 누름이 저에게는 큰 희망이 됩니다.
댓글 0개
정렬기준