[Laravel] Interface의 의미와 사용법
Interface의 의미와 사용법
인터페이스는 클래스 구현시 반드시 정의해서 사용해야 할 것을 미리 정해두는 것이다.
따라서 비슷한 역할을 하는 클래스끼리의 일관성을 유지할때 적합하다.
interface 정의 세부사항없이 껍데기만 정의해 둔다.
interface Rolable {
public function hasRole($role);
}
use
class User implements Rolable // implements 로서 interface를 가져온다
{
public function __construct() {
}
public function hasRole($role) { // interface Rolable 엣 정의한 hasRole method를 재 정의
}
}
만약 Rolable 에 속하는 hasRole이라는 메소드를 User 클래서에 정의하지 않으면 아래와 같은 에러가 발생한다.
Class ... contains 1 abstract method and must therefore be declared abstract or implement the remaining methods