⊗ppOpBsGSA 14 of 107 menu

PHP 객체 지향 프로그래밍에서 세터와 게터의 장점

이전 강의에서 우리는 각 속성에 대해 게터와 세터를 만들었습니다. 속성을 비공개 대신 공개로 만들면 사실상 동일한 효과를 얻을 수 있는데, 왜 이런 복잡함이 필요한지 의문이 생길 수 있습니다.

그 이유는 게터와 세터가 장점을 가지고 있기 때문입니다: 속성에 접근하기 전에 몇 가지 검사를 수행할 수 있습니다. 예를 들어, 우리의 경우 이름과 성을 기록할 때 새 값이 빈 문자열이 아닌지 확인할 수 있습니다:

<?php class User { private $name; private $surn; public function setName($name) { if (strlen($name) > 0) { $this->name = $name; } else { echo 'name is incorrect'; } } public function setSurn($surn) { if (strlen($surn) > 0) { $this->surn = $surn; } else { echo 'surn is incorrect'; } } public function getName() { return $this->name; } public function getSurn() { return $this->surn; } } ?>

이것이 어떻게 작동하는지 테스트해 봅시다. 먼저 클래스의 객체를 생성하겠습니다:

<?php $user = new User(); ?>

이제 올바른 값을 기록해 보겠습니다:

<?php $user->setName('john'); ?>

이제 올바르지 않은 값을 기록해 보겠습니다:

<?php $user->setName(''); // 오류 ?>

Employee 클래스의 나이 세터에서 나이가 0세부터 120세 사이여야 한다는 검사를 구현하세요.

Employee 클래스의 급여 게터에서 급여를 읽을 때 그 값 끝에 달러 기호가 추가되도록 만드세요.

한국어
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
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부