php
[php OOP] 3주차(3회차) / php 상속, 상수
namgi
2022. 9. 18. 19:31
반응형
이번회차에선 상속과 상수에 대해 배웠다.
OOP 상속
상속(Inheritance)이란? - 클래스가 다른 클래스에서 파생되는 것
상속된 클래스는 위의 클래스에서 모든 public 및 protected 속성과 메서드를 상속, 고유한 속성과 메서드를 가질 수 있다.
상속된 클래스는 'extends' 코드를 사용하여 정의한다.
먼저 코드부터 봐보자.
<?php
//'Friend'란 클래스 정의
class Friend {
//'$name', '$age' 정의
public $name;
public $age;
public function __construct($name, $age) {
$this->name = $name;
$this->age = $age;
}
//'text' 함수를 보호상태로 둠
protected function text() {
echo "이름: {$this->name}<br>나이: {$this->age}";
}
}
//'Yeji'라는 다른 클래스를 'Friend'클래스에 상속
class Yeji extends Friend {
//'message'함수 정의
function message() {
echo "이름과 나이가 어떻게 되나요?<br> ";
//'message'함수에 보호된 'text'함수 호출
$this -> text();
}
}
//변수 'yeji'의 값 지정
$yeji = new Yeji("Yeji", "18");
$yeji->message(); //'message'호출
?>
위와 같이 'name'과 'age'가 속한 클래스 'Friend'가 있다.
14번 째 줄에서 함수 'text'는 'protected(보호)'상태로 둔다.
20번 째 줄에서 클래스 'Yeji'를 하나 생성하고, 'extends' 코드로 'Friend' 클래스에 상속 시킨다.
클래스 'Yeji'에는 'message' 함수가 들어가있다.
'message'함수에서 보호된 'text'함수를 불러온다.
보호되어있는 상태지만, 클래스 'Yeji'가 'Friend' 클래스로 상속 시켰기에,
밑 화면처럼 코드가 실행된다.
OOP 상수
상수는 선언되면 변경할 수 없다.
상수는 클래스 내에서 일부 상수 데이터를 정의해야 하는 경우에 유용하다.
상수는 'const' 코드를 이용해 선언할 수 있다.
상수는 대소문자를 구분하지만, 대문자로 지정하는 것이 좋다.
<?php
//Hello 클래스 지정
class Hello {
//HELLO_MESSAGE 상수 지정
const HELLO_MESSAGE = "Hello world!";
}
//클래스이름::상수이름
echo Hello::HELLO_MESSAGE
?>
실행결과는 다음과 같다.
벌써 3회차이다.
이번 회차에선 상속과 상수에 대해 배웠다.
다음회차에서도 OOP에 대해 배울 것이다.
반응형