PHP OOP에서 메소드 체이닝

메소드를 연속적으로 호출하는 체인을 만들 수 있습니다. 이를 위해 각 해당 메소드는 $this를 반환해야 합니다. 시도해 봅시다. 우리 클래스의 세터(setter)에 해당 코드를 추가하겠습니다:

php<?php
  class User {
    private $name;
    private $surn;
  
    public function setName($name) {
      $this->name = $name;
      return $this;
    }
    
    public function setSurn($surn) {
      $this->surn = $surn;
      return $this;
    }
    
    public function getName() {
      return $this->name;
    }
    
    public function getSurn() {
      return $this->surn;
    }
  }
?>

이제 우리의 세터(setter)들을 연속적으로, 체인처럼 호출할 수 있습니다. 확인해 보겠습니다. 우리 클래스의 객체를 생성하겠습니다:

php<?php
  $user = new User();
?>

세터(setter)들을 체인으로 호출해 보겠습니다:

php<?php
  $user->setName('john')->setSurn('smit');
?>

속성 값들이 변경되었는지 확인해 보겠습니다:

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

Employee 클래스의 세터(setter)들이 체인으로 호출될 수 있도록 만드세요.