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를 참조하도록 설정합니다. 이것이 메서드가 어떤 객체의 속성에 접근해야 하는지 아는 방법입니다.

만약 또 다른 car 객체가 있다면:

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

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

challenge icon

챌린지

쉬움

car.php 파일에 있는 Car 클래스를 완성하세요. $this 키워드를 사용하여 자동차의 연식(year), 제조사(make), 모델(model)을 다음과 같은 형식으로 출력하는 displayInfo 메서드를 추가해야 합니다:

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

  • car.php: displayInfo 메서드를 추가할 Car 클래스 정의가 포함되어 있습니다.
  • driver.php: Car 클래스를 가져와서 사용하는 메인 실행 파일입니다 (수정 불가).

직접 해보기

<?php
require_once 'car.php';

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

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

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

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