PHP의 추상 클래스 대 인터페이스

Sheeraz Gul 2023년6월20일
  1. PHP의 추상 클래스
  2. PHP의 인터페이스
  3. PHP의 추상 클래스 대 인터페이스
PHP의 추상 클래스 대 인터페이스

이 튜토리얼은 PHP에서 추상 클래스인터페이스의 차이점을 보여줍니다.

차이점을 살펴보기 전에 먼저 추상 클래스인터페이스의 개념을 이해해야 합니다. 다음은 추상 클래스인터페이스에 대한 중요한 사항입니다.

PHP의 추상 클래스

추상 클래스는 개발자에 의해 부분적으로 구현되며 최소한 하나의 추상 메서드, 즉 코드가 없는 메서드를 포함합니다. 다음은 추상 클래스를 이해하기 위한 몇 가지 중요한 사항입니다.

  1. 추상 클래스는 부분 추상화 상태에 있습니다.
  2. 추상 클래스에서 변수를 만들 수 있습니다.
  3. 추상 클래스에는 추상 메서드와 비추상 메서드가 포함될 수 있습니다.
  4. 추상 클래스에서 모든 액세스 수정자를 사용할 수 있습니다.
  5. extends 키워드를 사용하여 파생 클래스에서 추상 클래스 기능에 액세스할 수 있습니다.
  6. 추상 클래스에서는 다중 상속이 가능합니다.

다음은 추상 클래스를 만드는 방법의 예입니다.

<?php
abstract class Demo_Abstract_Class {
    abstract protected
    function Get_Value();
    public
    function Print_Value() {
        print $this -> Get_Value();
    }
}
?>

PHP의 인터페이스

인터페이스는 interface 키워드로 정의되며 여기서 모든 메소드는 추상입니다. 다음은 인터페이스를 이해하기 위한 몇 가지 중요한 사항입니다.

  1. 인터페이스가 완전히 추상화되어 있습니다.
  2. 인터페이스에서 변수를 만들 수 없습니다.
  3. 인터페이스에는 추상 메소드만 포함됩니다.
  4. public 액세스 수정자만 interface에서 사용됩니다.
  5. 구현 키워드를 사용하여 파생 클래스에서 인터페이스를 가져올 수 있습니다.
  6. 인터페이스로 다중 상속이 가능합니다.

다음은 인터페이스를 시연하는 예입니다.

<?php
interface Demo_Interface {
    public
    function execute();
}
?>

PHP의 추상 클래스 대 인터페이스

다음은 추상 클래스인터페이스의 차이점입니다.

추상 클래스 상호 작용
다중 상속 금지. 다중 상속을 지원합니다.
추상 클래스에는 데이터 멤버가 포함됩니다. 인터페이스에 데이터 멤버가 없습니다.
추상 클래스는 컨테이너를 지원합니다. 인터페이스는 컨테이너를 지원하지 않습니다.
추상 클래스에는 완전한 멤버와 불완전한 멤버가 포함됩니다. 인터페이스에는 구성원의 서명을 참조하는 완전한 구성원만 포함됩니다.
추상 클래스는 하위, 속성 및 기능이 있는 액세스 수정자를 가질 수 있습니다. 인터페이스에서는 모든 것이 공용으로 간주되므로 액세스 수정자가 없습니다.
추상 클래스의 완전한 구성원은 정적일 수 있지만 불완전한 구성원은 정적일 수 없습니다. 인터페이스의 어떤 구성원도 정적일 수 없습니다.
작가: Sheeraz Gul
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook

관련 문장 - PHP Class