⊗ppOpMgTS 87 of 107 menu

PHP OOP의 마법 메소드 __toString

우리가 배울 첫 번째 마법 메소드는 __toString입니다. 이 메소드는 클래스 인스턴스를 문자열로 변환하려고 할 때 호출됩니다. 이게 무슨 뜻인지 알아봅시다. 다음과 같은 User 클래스가 있다고 가정해 보겠습니다:

<?php class User { private $name; private $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } public function getName() { return $this->name; } public function getAge() { return $this->age; } } ?>

이 클래스의 객체를 생성해 보겠습니다:

<?php $user = new User('john', 25); ?>

이제 생성된 객체를 echo로 출력해 보려고 합니다:

<?php $user = new User('john', 25); echo $user; ?>

echo로 객체를 출력하려는 시도는 문자열로의 변환입니다. 이 경우 PHP는 객체가 그냥 문자열로 변환되지 않기 때문에 오류를 발생시킬 것입니다.

오류를 제거하려면 객체를 문자열로 변환하려 할 때 PHP가 무엇을 해야 하는지 명시적으로 알려주어야 합니다. 이를 위해 마법 메소드 __toString가 존재합니다.

우리 클래스 코드에 이러한 메소드를 만들면, 이 메소드의 결과(즉, return을 통해 반환하는 것)가 객체의 문자열 표현이 됩니다.

echo로 객체를 출력하려 할 때 사용자의 이름이 출력되기를 원한다고 가정해 봅시다. 따라서 __toString 메소드를 만들고 그 안에 name 속성의 값을 반환하도록 합니다:

<?php class User { private $name; private $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } // 지정된 메소드를 구현합니다: public function __toString() { return $this->name; } public function getName() { return $this->name; } public function getAge() { return $this->age; } } ?>

확인해 봅시다:

<?php $user = new User('john', 25); echo $user; // 'john'을 출력합니다 - 모두 작동합니다! ?>

namesurn 속성을 가진 User 클래스를 만드세요. echo를 통해 객체를 출력할 때 사용자의 이름과 성이 포함된 문자열이 화면에 표시되도록 하세요.

한국어
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақКыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부