PHP OOP에서의 속성 게터

다음과 같은 비공개 속성을 가진 클래스가 있다고 가정해 봅시다.

php<?php
  class User {
    private $name;
    private $surn;
    
    public function __construct($name, $surn) {
      $this->name = $name;
      $this->surn = $surn;
    }
  }
?>

보시다시피, 이 속성들은 객체 생성 시 한 번 설정됩니다. 하지만 현재는 이러한 속성들을 읽을 수 없습니다. 왜냐하면 속성들이 비공개이고 이를 위한 해당 메서드가 없기 때문입니다.

이러한 속성을 읽을 수 있도록 해주는 특별한 메서드를 만들어 봅시다. 이러한 메서드(게터라고 부름)는 일반적으로 get이라는 단어로 시작하고, 그 뒤에 읽을 속성의 이름이 옵니다.

우리 속성들에 대한 게터를 만들어 봅시다:

php<?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<?php
  $user = new User('john', 'smit');
?>

게터를 사용하여 이 데이터를 읽어봅시다:

php<?php
  var_dump($user->getName());
  var_dump($user->getSurn());
?>
Задание 1

Employee 클래스에 이름, 급여, 나이 세 가지의 비공개 속성을 만드세요.

Задание 2

생성자에 이 속성들의 값을 매개변수로 전달하세요.

Задание 3

각 속성의 값을 출력하는 게터를 만드세요.