PHP의 인터페이스 | PHP OOP 인터페이스
게시 됨: 2021-03-03목차
소개
PHP는 객체 지향 언어이며 인터페이스는 객체 지향 프로그래밍 언어의 주요 기능 중 하나입니다. 인터페이스를 통해 코더는 해당 인터페이스를 구현하는 클래스에서 다양한 정의를 포함하는 함수를 선언할 수 있습니다. PHP 의 인터페이스를 이해하려면 계속 읽으십시오 . 또한 기사에서 공유하는 PHP의 인터페이스 예제 를 통해 더 많은 이해를 얻으십시오.
PHP의 인터페이스
인터페이스는 구현 없이 함수를 생성할 수 있는 객체 지향 프로그래밍의 기능입니다. 구현은 클래스에 포함되어야 합니다. 인터페이스를 상속하는 각 클래스는 필요에 따라 다른 구현을 가질 수 있으므로 메서드 정의의 복잡성을 방지하는 데 도움이 됩니다. PHP 에서 인터페이스의 사용법은 클래스와 유사하지만 구현이 인터페이스의 함수에 없고 인터페이스에 변수가 없다는 유일한 차이점이 있습니다.
PHP 인터페이스의 특징
- 인터페이스에 코드가 포함되어 있지 않습니다.
- 인터페이스에는 인수가 있거나 없는 메서드 선언이 있지만 정의는 없습니다.
- 인터페이스를 구현하는 클래스는 인터페이스에 선언된 모든 메소드의 정의를 포함해야 합니다.
- 클래스는 여러 인터페이스를 구현할 수 있습니다.
- 인터페이스는 비추상 메소드를 가질 수 없습니다.
인터페이스 구문
인터페이스는 사용 전에 선언해야 합니다. 인터페이스의 구문은 클래스의 구문과 유사하지만 인터페이스를 선언할 때 class 키워드 대신 interface 키워드를 사용한다는 차이점만 있습니다. 다음은 PHP에서 인터페이스 를 선언하는 구문입니다 .
<?php
// PHP 인터페이스 선언
인터페이스 <인터페이스 이름>
{
//암호
}
?>
인터페이스 내부에 선언된 메소드는 클래스별로 인터페이스를 상속받아 접근할 수 있습니다. 클래스는 클래스 를 선언하는 동안 implements 키워드를 사용하여 PHP 의 인터페이스를 상속합니다 .
다음은 PHP에서 인터페이스 를 구현하는 구문 입니다 .
<?php
//클래스 선언
<클래스 이름> 클래스는 <인터페이스 이름>을 구현합니다.
{
//암호
}
?>
PHP의 인터페이스 예제
인터페이스 사용법을 이해하기 위해 아래 예를 살펴보겠습니다.
<?php
//인터페이스 선언
인터페이스 예제_모양
{
공개 함수 ShapeArea();
}
//인터페이스를 상속받는 클래스
Shape1 클래스는 Example_Shape를 구현합니다.
{
공개 함수 ShapeArea()
{
에코 '원의 영역';
}
}
//인터페이스를 상속받는 클래스
클래스 Shape2는 Example_Shape를 구현합니다.
{
공개 함수 ShapeArea()
{
에코 '사각형 면적';
}
}
// 인터페이스를 사용하지 않는 클래스
클래스 Shape3
{
공개 함수 AreaCal()
{
에코 '인터페이스 없음';
}
}
$Obj1 = 새로운 Shape1; // class1에 대한 객체
$Obj2 = 새로운 Shape2; // class2를 위한 객체
$obj3 = 새로운 Shape3; // 인터페이스를 사용하지 않는 클래스 3용 객체
에코 $obj1->ShapeArea();
에코 '<br>';
에코 $obj2->ShapeArea();
에코 '<br>';
에코 $obj3->AreaCal();
?>
산출
원의 면적
정사각형 면적
인터페이스 없음
출력 설명
Shape1 클래스에는 인터페이스 내부에 선언된 함수의 정의가 있습니다. Shape1은 인터페이스를 구현하므로 내부의 기능에 액세스할 수 있으며 'Area of the circle'을 인쇄합니다. Shape2 클래스에 대한 설명과 'Area of the square' 출력에 대한 설명도 비슷합니다. Shape3 클래스는 인터페이스를 구현하지 않고 PHP에서 일반적인 클래스로 작동합니다.
다중 인터페이스 구현
클래스는 둘 이상의 인터페이스도 구현할 수 있습니다. 이러한 경우 클래스는 해당 클래스가 구현하는 모든 인터페이스에 선언된 모든 메서드의 정의를 가지고 있어야 합니다. 다음은 PHP에서 둘 이상의 인터페이스를 구현한 그림입니다 .
<?php
// 인터페이스 선언
인터페이스 예1
{
공개 함수 method1();
}
// 다른 인터페이스 선언
인터페이스 예제2
{
공개 함수 method2();
}
//위에서 선언한 두 개의 인터페이스를 구현하는 클래스
클래스 class1은 example1, example2를 구현합니다.
{
// interface1의 메소드 정의
공개 함수 방법1
{
에코 '인터페이스1 메서드1 내부';
}
//인터페이스2의 메소드 정의
공개 함수 방법2
{
에코 '인터페이스2 method2 내부;
}
}
Obj1 = 새 클래스1;
Obj2 = 새 클래스2;
Obj1->메서드1;
Obj2->메서드2;
?>
산출
내부 interface1 method1
내부 interface2 method2
다중 인터페이스 구현에 대한 몇 가지 주의 사항
- 인터페이스에 선언된 모든 메소드는 공개되어야 합니다.
- 함수는 키워드 추상을 가질 수 없습니다.
- 프로그래머가 인터페이스 기능을 정의하는 것을 잊어버리면 코드에서 오류가 발생합니다.
- 인터페이스는 변수를 포함할 수 없습니다.
확인: PHP의 OOP 개념
인터페이스와 추상 클래스의 차이점 - 2020 - 다른 사람
다음은 인터페이스와 추상 클래스의 몇 가지 차이점입니다.
- 인터페이스에는 선언만 포함되지만 추상 클래스에는 메서드 선언과 해당 정의가 모두 포함됩니다.
- 인터페이스의 메서드는 공용만 될 수 있지만 추상 클래스의 메서드는 공용, 개인 또는 보호로 선언될 수 있습니다.
- 한 클래스는 하나 이상의 인터페이스를 구현할 수 있지만 한 클래스는 하나의 추상 메서드만 확장할 수 있습니다.
결론
PHP 의 인터페이스 는 사용자가 정의 없이 공개 메서드를 선언할 수 있도록 하는 기능입니다. 이 기사에서는 인터페이스에 대한 모든 정보를 구문과 예제와 함께 설명했습니다. 이 기사에서 공유된 정보가 개념을 이해하는 데 도움이 되기를 바랍니다. upGrad 블로그에서 PHP를 기반으로 유사한 주제를 배울 수 있습니다. 더 깊은 이해를 위해 upGrad에서 PHP에 대한 온라인 인증 과정에 등록할 수 있습니다. upGrad 는 귀하의 경력과 학습에 도움이 될 수 있는 많은 수료증 과정을 제공합니다.
전체 스택 소프트웨어 개발에 대해 자세히 알아보려면 upGrad & IIIT-B의 전체 스택 소프트웨어 개발 PG 디플로마를 확인하세요. 이 PG 디플로마는 일하는 전문가를 위해 설계되었으며 500시간 이상의 엄격한 교육, 9개 이상의 프로젝트 및 과제, IIIT-B 동문 자격, 실질적인 실습 캡스톤 프로젝트 및 최고의 기업과의 취업 지원.