[php] 생성자와 소멸자

이번에는 PHP 클래스에서 생성자소멸자의 개념에 대해 알아보겠습니다.

생성자(Constructor)

생성자는 객체가 생성될 때 자동으로 호출되는 특별한 메서드입니다. 주요 역할은 객체의 초기화를 담당하는 것입니다. 생성자는 클래스와 동일한 이름을 가지며, 클래스를 인스턴스화 할 때 다른 메서드를 호출하기 전에 먼저 실행됩니다. 보통 클래스 내부에 __construct 메서드를 작성하여 생성자를 정의할 수 있습니다.

class MyClass {
    public function __construct() {
        echo "Object created\n";
    }
}

$obj = new MyClass(); 

위 예제에서 MyClass에 인스턴스를 생성하면 생성자가 먼저 호출되어 “Object created”라는 메시지를 출력합니다.

소멸자(Destructor)

소멸자는 객체가 소멸될 때 자동으로 호출되는 메서드입니다. 주요 역할은 객체의 정리 또는 마무리 작업을 수행하는 것입니다. 소멸자는 클래스와 동일한 이름을 가지며 __destruct 메서드를 작성하여 정의할 수 있습니다.

class MyClass {
    public function __construct() {
        echo "Object created\n";
    }

    public function __destruct() {
        echo "Object destroyed\n";
    }
}

$obj = new MyClass();
unset($obj); 

위 예제에서 unset 함수를 이용하여 객체가 소멸될 때 소멸자가 호출되어 “Object destroyed”라는 메시지가 출력됩니다.

이렇게 생성자와 소멸자는 객체의 초기화와 정리를 자동으로 수행하여 코드의 효율성을 높여줍니다.

결론

PHP 클래스의 생성자와 소멸자는 객체의 생성과 소멸 시에 자동으로 호출되어 중요한 역할을 합니다. 이를 적절히 활용하여 객체 지향적인 코드를 작성할 수 있습니다.