R's Hacking Daily Log

php 객체 지향 프로그램 (6) 본문

PHP

php 객체 지향 프로그램 (6)

hanhxx 2023. 7. 18. 23:20

Step :: final 

앞에서 살펴보았을 때, 클래스를 상속받기 위해서는 extends keyword를 사용했다!

final keyword는 이와 반대되는 개념으로 상속받지 못하게 제한할 때 사용하는 키워드이다. 

 

 

final keyword는 클래스 OR 메서드에만 사용할 수 있는 키워드로 클래스에 사용한 경우를 예시로 알아보자!

<?php

final class Cat {
    public function say() {
        echo "냐옹<br/>";
    }
}

$cat = new Cat();
$cat->say();

class Cat2 extends Cat {
    public function say() {
        echo "미야옹<br/>";
    }
}

$cat2 = new Cat2();
$cat2->say();

클래스 Cat은 final 키워드가 사용되어 어떤 클래스가 Cat 클래스를 상속받으려 할 때 에러가 발생할 것이다.

클래스 Cat2는 extends 키워드를 사용해 Cat 클래스를 상속 받고자 하지만 결과를 보면 

 

 

예상대로 final class를 상속할 수 없다는 문구가 에러를 알려주고 있다. 

 

 

만약 메서드에 final keyword를 사용하고자 할 땐,

접근 제어자(public, private, protected) 앞에 final을 작성하면 된다. 

final public function sound() {...}

'PHP' 카테고리의 다른 글

php Session  (0) 2023.07.21
php 예외 처리  (0) 2023.07.19
php 객체 지향 프로그램 (5)  (0) 2023.07.18
php 객체 지향 프로그램 (4)  (0) 2023.07.16
php 객체 지향 프로그램 (3)  (0) 2023.07.13
Comments