[php] 추상 클래스

PHP에서 추상 클래스는 일반 클래스와 다르게 인스턴스를 생성할 수 없는 클래스입니다. 대신 다른 클래스에서 상속하여 구현할 수 있는 메서드와 속성을 정의합니다.

추상 클래스 정의

추상 클래스를 정의할 때는 abstract 키워드를 사용합니다. 이렇게 정의된 추상 클래스는 다음과 같이 선언할 수 있습니다.

abstract class Animal {
    // 추상 메서드 선언
    abstract public function makeSound();
}

위 예제에서 Animal 클래스는 abstract 키워드로 정의되었고, makeSound 메서드는 추상 메서드로 선언되었습니다. 이제 이 클래스를 상속받아 실제로 메서드를 구현하는 클래스를 정의할 수 있습니다.

추상 클래스 상속

추상 클래스를 상속하는 자식 클래스는 추상 메서드를 반드시 구현해야 합니다. 그렇지 않으면 PHP는 오류를 발생시킵니다.

class Dog extends Animal {
    public function makeSound() {
        return "Woof!";
    }
}

Dog 클래스는 makeSound 메서드를 구현하여 Animal 추상 클래스를 상속받았습니다. 이제 Dog 클래스는 인스턴스화하여 사용할 수 있습니다.

추상 클래스 사용

추상 클래스는 다음과 같이 사용될 수 있습니다.

$dog = new Dog();
echo $dog->makeSound(); // 출력: Woof!

이와 같이 PHP에서 추상 클래스를 사용하여 코드를 구조화하고 재사용성을 높일 수 있습니다.

참고 문헌:

  1. PHP 공식 문서 - 추상 클래스 및 메서드
  2. GeeksforGeeks - PHP Abstract Classes
  3. PHP: The Right Way - Abstract Classes