[The 나은 PHP 개발자 되기] PHP에서 Trait 는 왜/어떻게 사용하나요?

PHP에 Trait 라는 문법이 존재하죠 그런데 이거 어떻게 사용 하는지 잘 모르는 경우가 많아요 트레이트를 이해하기 위해서 다음의 예제를 살펴보겠습니다 Walker 라는 클래스가 있어요 '걷는 자' 를 표현한 거에요 그리고 Dog와 Ant라는 클래스가 있어요 두 클래스 는 걸을 수 있기 때문에 Walker를 extends 할 거에요 그런데 필요에 의해서 Dog는 Animal을 Ant는 Bug 를 상속받아서 처리해야 한다고 합니다 php 는 다중 상속을 지원하지 않죠 실제로 Walker는 걷는 것 밖에 하는 일이 없습니다 그래서 Waker를 인터페이스로 만들어 사용하기로 하겠습니다 그리고 각 클래스에 Walkable을 implements 합니다 여기서 우리는 Walk 함수를 여러번 동일하게 구현 해야 하는 부담감이 있습니다 그래서 델리게이트 를 사용하도록 합시다 단순히 걷는 기능을 구현하기 위해 너무 복잡한 것 같습니다 Trait 를 사용하면 어떨까요? '다른 상속 구조'를 가진 클래스에 동일한 기능을 사용할 수 있도록 지원해주는 것이 Trait입니다 이 예제는 단순히 이해를 돕기 위한 예제예요

적절하게 사용하기 위해서는 도큐먼트와 다른 사람들의 블로그 포스팅을 참고하세요 감사합니다