Menu
Coddy logo textTech

$this 키워드

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

$this 키워드는 클래스의 메서드 내에서 현재 인스턴스를 참조합니다. 이를 통해 현재 객체의 속성에 액세스하고 수정할 수 있습니다.

다음은 $this를 사용하는 메서드가 있는 클래스의 예입니다:

<?php
class Car {
    public $color;
    public $model;

    public function honk() {
        echo "Beep beep!\n";
    }

    public function describe() {
        echo "I am a " . $this->color . " " . $this->model . "\n";
    }
}

$this 키워드는 메서드를 호출한 객체를 가리키기 위해 메서드 내부에서 사용됩니다.

자동차 객체를 만들고 속성을 설정하세요:

$myCar = new Car();
$myCar->color = "Red";
$myCar->model = "Sedan";

이제 메서드를 호출하세요:

$myCar->honk();
$myCar->describe();

출력:

Beep beep!
I am a Red Sedan

$myCar->describe()를 호출하면 PHP는 자동으로 $this$myCar를 가리키도록 설정합니다. 이를 통해 method는 어느 객체의 속성에 access해야 하는지 알 수 있습니다.

또 다른 자동차 객체가 있다면:

$otherCar = new Car();
$otherCar->color = "Blue";
$otherCar->model = "SUV";
$otherCar->describe(); // 나는 Blue SUV입니다

핵심 요점: $this는 항상 메서드를 호출한 특정 객체를 가리킵니다. 메서드가 실행될 때 각 객체는 자체 컨텍스트를 갖습니다.

challenge icon

챌린지

쉬움

Car class를 완성하려면 car.phpdisplayInfo라는 메서드를 추가하세요. 이 메서드는 $this 키워드를 사용하여 다음 형식으로 자동차의 연도, 제조사, 모델을 출력합니다:

"This car is a [year] [make] [model]"

  • car.php: displayInfo 메서드를 추가할 Car class 정의가 포함되어 있습니다
  • driver.php: Car class를 가져와 사용하는 기본 실행 파일입니다(잠김)

직접 해보기

<?php
require_once 'car.php';

$myCar = new Car();
$myCar->year = 2020;
$myCar->make = "Toyota";
$myCar->model = "Corolla";

$myCar->displayInfo();
quiz icon실력 점검

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

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

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