Menu
Coddy logo textTech

속성

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)은 각 객체마다 고유합니다.

challenge icon

챌린지

쉬움

student.php에서 Student class를 완성하세요:

  1. default value가 "PHP Academy"인 property $school을 Declare하세요.
  2. property $name$age를 Declare하세요 (default value 없음).
  3. $name$age parameters를 받는 setInfo method를 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";
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

객체 지향 프로그래밍의 모든 레슨

직접 연습해 보세요: 온라인 PHP 컴파일러