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 동문 자격, 실질적인 실습 캡스톤 프로젝트 및 최고의 기업과의 취업 지원.

풀 스택 개발자 되기

전체 스택 소프트웨어 개발에서 업그레이드 및 IIIT-BANGALORE의 PG 디플로마
더 알아보기