PHP OOP에서 클래스 내부의 객체
클래스 안에는 다른 클래스의 객체를 사용할 수 있습니다. 예시를 통해 살펴보겠습니다. 이름과 성, 그리고 살고 있는 도시를 가진 사용자를 만들고 싶다고 가정해 봅시다. 도시를 위한 다음과 같은 클래스가 있다고 해보죠:
<?php
class City {
public $name;
public function __construct($name) {
$this->name = $name;
}
}
?>
이름, 성, 도시 정보를 생성자의 매개변수로 전달하도록 하겠습니다:
<?php
class User {
public $name;
public $surn;
public $city;
public function __construct($name, $surn, $city) {
$this->name = $name;
$this->surn = $surn;
$this->city = $city;
}
}
?>
이때 이름과 성은 문자열이지만, 도시는 별도의 클래스 객체가 될 것입니다:
<?php
$city = new City('luis');
$user = new User('john', 'smit', $city);
?>
우리 사용자의 이름을 출력해 봅시다:
<?php
echo $user->name;
?>
이제 우리 사용자의 도시 이름을 출력해 봅시다:
<?php
echo $user->city->name;
?>
다음 클래스가 주어졌습니다:
<?php
class Employee {
public $name;
public $position;
public $department;
public function __construct($name, $position, $department) {
$this->name = $name;
$this->position = $position;
$this->department = $department;
}
}
?>
두 번째와 세 번째 매개변수에 별도의 클래스 객체가 전달되도록 수정하세요.
이전 문제의 클래스를 사용하여 직원 객체를 생성하세요.
생성된 직원의 이름, 직책, 부서를 콘솔에 출력하세요.