PHP OOP에서의 속성 게터
다음과 같은 비공개 속성을 가진 클래스가 있다고 가정해 봅시다.
<?php
class User {
private $name;
private $surn;
public function __construct($name, $surn) {
$this->name = $name;
$this->surn = $surn;
}
}
?>
보시다시피, 이 속성들은 객체 생성 시 한 번 설정됩니다. 하지만 현재는 이러한 속성들을 읽을 수 없습니다. 왜냐하면 속성들이 비공개이고 이를 위한 해당 메서드가 없기 때문입니다.
이러한 속성을 읽을 수 있도록 해주는 특별한 메서드를 만들어 봅시다. 이러한 메서드(게터라고 부름)는 일반적으로 get이라는 단어로 시작하고, 그 뒤에 읽을 속성의 이름이 옵니다.
우리 속성들에 대한 게터를 만들어 봅시다:
<?php
class User {
private $name;
private $surn;
public function __construct($name, $surn) {
$this->name = $name;
$this->surn = $surn;
}
public function getName() {
return $this->name;
}
public function getSurn() {
return $this->surn;
}
}
?>
이제 작동을 확인해 봅시다. 사용자 데이터를 매개변수로 전달하여 객체를 생성합니다:
<?php
$user = new User('john', 'smit');
?>
게터를 사용하여 이 데이터를 읽어봅시다:
<?php
var_dump($user->getName());
var_dump($user->getSurn());
?>
Employee 클래스에 이름, 급여, 나이 세 가지의 비공개 속성을 만드세요.
생성자에 이 속성들의 값을 매개변수로 전달하세요.
각 속성의 값을 출력하는 게터를 만드세요.