PHP의 추상 클래스 대 인터페이스
Sheeraz Gul
2023년6월20일
이 튜토리얼은 PHP에서 추상 클래스
와 인터페이스
의 차이점을 보여줍니다.
차이점을 살펴보기 전에 먼저 추상 클래스
와 인터페이스
의 개념을 이해해야 합니다. 다음은 추상 클래스
와 인터페이스
에 대한 중요한 사항입니다.
PHP의 추상 클래스
추상 클래스
는 개발자에 의해 부분적으로 구현되며 최소한 하나의 추상 메서드, 즉 코드가 없는 메서드를 포함합니다. 다음은 추상 클래스
를 이해하기 위한 몇 가지 중요한 사항입니다.
추상 클래스
는 부분 추상화 상태에 있습니다.추상 클래스
에서 변수를 만들 수 있습니다.- 추상 클래스에는 추상 메서드와 비추상 메서드가 포함될 수 있습니다.
추상 클래스
에서 모든 액세스 수정자를 사용할 수 있습니다.extends
키워드를 사용하여 파생 클래스에서추상 클래스
기능에 액세스할 수 있습니다.추상 클래스
에서는 다중 상속이 가능합니다.
다음은 추상 클래스
를 만드는 방법의 예입니다.
<?php
abstract class Demo_Abstract_Class {
abstract protected
function Get_Value();
public
function Print_Value() {
print $this -> Get_Value();
}
}
?>
PHP의 인터페이스
인터페이스는 interface
키워드로 정의되며 여기서 모든 메소드는 추상입니다. 다음은 인터페이스
를 이해하기 위한 몇 가지 중요한 사항입니다.
- 인터페이스가 완전히 추상화되어 있습니다.
인터페이스
에서 변수를 만들 수 없습니다.인터페이스
에는 추상 메소드만 포함됩니다.public
액세스 수정자만interface
에서 사용됩니다.구현
키워드를 사용하여 파생 클래스에서인터페이스
를 가져올 수 있습니다.인터페이스
로 다중 상속이 가능합니다.
다음은 인터페이스
를 시연하는 예입니다.
<?php
interface Demo_Interface {
public
function execute();
}
?>
PHP의 추상 클래스 대 인터페이스
다음은 추상 클래스
와 인터페이스
의 차이점입니다.
추상 클래스 | 상호 작용 |
---|---|
다중 상속 금지. | 다중 상속을 지원합니다. |
추상 클래스 에는 데이터 멤버가 포함됩니다. |
인터페이스 에 데이터 멤버가 없습니다. |
추상 클래스 는 컨테이너를 지원합니다. |
인터페이스 는 컨테이너를 지원하지 않습니다. |
추상 클래스 에는 완전한 멤버와 불완전한 멤버가 포함됩니다. |
인터페이스 에는 구성원의 서명을 참조하는 완전한 구성원만 포함됩니다. |
추상 클래스 는 하위, 속성 및 기능이 있는 액세스 수정자를 가질 수 있습니다. |
인터페이스 에서는 모든 것이 공용으로 간주되므로 액세스 수정자가 없습니다. |
추상 클래스 의 완전한 구성원은 정적일 수 있지만 불완전한 구성원은 정적일 수 없습니다. |
인터페이스 의 어떤 구성원도 정적일 수 없습니다. |
작가: Sheeraz Gul
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