interface 키워드
키워드 interface는 인터페이스를 생성하는 데 사용됩니다. 인터페이스는 클래스가 구현해야 하는 메서드를 정의하는 특별한 구조입니다. 인터페이스에는 메서드의 구현 없이 선언만 포함됩니다. 인터페이스를 구현하는 클래스는 해당 인터페이스에 선언된 모든 메서드를 포함해야 합니다.
구문
interface InterfaceName {
public function method1();
public function method2($param);
// ...
}
예제
간단한 인터페이스와 이를 구현하는 클래스를 만들어 봅시다:
<?php
interface Logger {
public function log($message);
}
class FileLogger implements Logger {
public function log($message) {
echo "파일에 로깅: " . $message;
}
}
$logger = new FileLogger();
$logger->log("테스트 메시지");
?>
코드 실행 결과:
'파일에 로깅: 테스트 메시지'
예제
인터페이스는 여러 메서드를 포함할 수 있으며, 클래스는 이를 모두 구현해야 합니다:
<?php
interface Shape {
public function calculateArea();
public function calculatePerimeter();
}
class Circle implements Shape {
private $radius;
public function __construct($radius) {
$this->radius = $radius;
}
public function calculateArea() {
return 3.14 * $this->radius * $this->radius;
}
public function calculatePerimeter() {
return 2 * 3.14 * $this->radius;
}
}
$circle = new Circle(5);
echo "면적: " . $circle->calculateArea();
?>
코드 실행 결과:
'면적: 78.5'