속성
Coddy PHP 여정의 객체 지향 프로그래밍 섹션에 포함된 레슨. 91개 중 6번째.
속성은 클래스에 속하는 변수입니다. 속성은 객체의 상태에 대한 정보를 저장합니다. PHP에서는 public과 같은 가시성 키워드를 사용하여 클래스 내부에 속성을 선언해야 합니다.
프로퍼티에는 기본값을 지정할 수 있습니다. 새 객체는 모두 동일한 초기값으로 시작하지만, 각 객체는 독립적인 복사본을 유지합니다.
<?php
class Student {
public $school = "PHP Academy"; // 기본값
public $name;
public $age;
}기본값이 없는 속성은 설정할 때까지 null로 시작합니다.
메서드와 $this를 사용하여 property 값을 설정할 수 있습니다:
class Student {
public $school = "PHP Academy";
public $name;
public $age;
public function setInfo($name, $age) {
$this->name = $name; // 인스턴스 데이터 설정
$this->age = $age; // 인스턴스 데이터 설정
}
}student 객체를 만들고 각각의 데이터를 설정합니다:
$student1 = new Student();
$student2 = new Student();
$student1->setInfo("Alice", 20);
$student2->setInfo("Bob", 22);property에 액세스합니다:
echo $student1->name . "\n"; // Alice
echo $student2->name . "\n"; // Bob
echo $student1->school . "\n"; // PHP Academy
echo $student2->school . "\n"; // PHP Academy출력:
Alice
Bob
PHP Academy
PHP Academy핵심 차이: 기본값이 있는 속성(예: $school)은 모든 객체에서 동일한 값으로 시작합니다. 메서드를 통해 설정된 속성(예: $name 및 $age)은 각 객체마다 고유합니다.
챌린지
쉬움student.php에서 Student class를 완성하세요:
- default value가
"PHP Academy"인 property$school을 Declare하세요. - property
$name과$age를 Declare하세요 (default value 없음). $name과$ageparameters를 받는setInfomethod를 Add하고,$this를 using하여 sets하세요.
driver.php file은 두 개의 student를 생성하고 their information을 출력하여 your class를 테스트합니다.
직접 해보기
<?php
require_once 'student.php';
$student1 = new Student();
$student2 = new Student();
$student1->setInfo("Alice", 20);
$student2->setInfo("Bob", 22);
echo $student1->name . " is " . $student1->age . " at " . $student1->school . "\n";
echo $student2->name . " is " . $student2->age . " at " . $student2->school . "\n";
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
객체 지향 프로그래밍의 모든 레슨
직접 연습해 보세요: 온라인 PHP 컴파일러