Menu
Coddy logo textTech

프로퍼티

Coddy PHP 여정의 객체 지향 프로그래밍 섹션에 포함된 레슨 — 91개 중 6번째.

프로퍼티는 클래스에 속하는 변수입니다. 이들은 객체의 상태에 대한 정보를 저장합니다. PHP에서 프로퍼티는 public과 같은 가시성 키워드를 사용하여 클래스 내부에서 선언되어야 합니다.

프로퍼티는 기본값을 가질 수 있습니다. 모든 새로운 객체는 동일한 초기값으로 시작하지만, 각 객체는 자신만의 독립적인 복사본을 유지합니다:

<?php
class Student {
    public $school = "PHP Academy";  // 기본값
    public $name;
    public $age;
}

기본값이 없는 속성은 직접 설정하기 전까지 null로 시작합니다.

메서드와 $this를 사용하여 속성 값을 설정할 수 있습니다:

class Student {
    public $school = "PHP Academy";
    public $name;
    public $age;

    public function setInfo($name, $age) {
        $this->name = $name;    // 인스턴스 데이터 설정
        $this->age = $age;      // 인스턴스 데이터 설정
    }
}

학생 객체를 생성하고 각각의 데이터를 설정합니다:

$student1 = new Student();
$student2 = new Student();

$student1->setInfo("Alice", 20);
$student2->setInfo("Bob", 22);

속성에 접근하기:

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 클래스를 완성하세요:

  1. 기본값이 "PHP Academy"$school 속성을 선언하세요
  2. $name$age 속성을 선언하세요 (기본값 없음)
  3. $name$age 매개변수를 받아 $this를 사용하여 설정하는 setInfo 메서드를 추가하세요

driver.php 파일은 두 명의 학생을 생성하고 그들의 정보를 출력하여 클래스를 테스트합니다.

직접 해보기

<?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실력 점검

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

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