⊗ppOpFnMt 64 of 107 menu

PHP OOP에서의 추상 메서드

추상 클래스는 추상 메서드도 포함할 수 있습니다. 이러한 메서드는 구현을 가져서는 안 되며, 하위 클래스가 이러한 메서드를 가져야 한다는 것을 지정하기 위해 필요합니다. 그리고 이러한 메서드의 실제 구현은 이미 하위 클래스의 과제입니다.

메서드를 추상적으로 선언하려면, 선언 시 키워드 abstract를 작성해야 합니다.

실제로 시도해 봅시다. User 클래스의 모든 하위 클래스가 increaseRevenue 메서드를 가져야 한다고 가정해 보겠습니다.

이 메서드는 사용자의 현재 수입을 가져와 매개변수로 전달된 특정 금액만큼 증가시켜야 합니다.

User 클래스 자체는 하위 클래스가 정확히 어떤 수입을 얻을지 알지 못합니다. 직원에게는 급여이고 학생에게는 장학금이기 때문입니다. 따라서 각 하위 클래스는 이 메서드를 자신의 방식으로 구현할 것입니다.

여기서 요점은 User 클래스의 추상 메서드가 프로그래머로 하여금 하위 클래스에서 이 메서드를 구현하도록 강제한다는 것입니다. 그렇지 않으면 PHP가 오류를 발생시킵니다. 따라서 당신이나 당신의 코드로 작업하는 다른 프로그래머는 하위 클래스에서 필요한 메서드를 구현하는 것을 절대 잊을 수 없습니다.

자, 실제로 시도해 봅시다. User 클래스에 추상 메서드 increaseRevenue를 추가해 보겠습니다.

<?php abstract class User { private $name; public function getName() { return $this->name; } public function setName($name) { $this->name = $name; } // 본문이 없는 추상 메서드: abstract public function increaseRevenue($value); } ?>

우리의 Employee 클래스는 일단 변경 없이 그대로 두겠습니다. 이 경우, Employee 클래스의 객체를 생성하지 않고 단지 클래스를 정의하는 코드를 실행하더라도 PHP는 오류를 발생시킬 것입니다.

이제 Employee 클래스에서 increaseRevenue 메서드의 구현을 작성해 보겠습니다.

<?php class Employee extends User { private $salary; public function getSalary() { return $this->salary; } public function setSalary($salary) { $this->salary = $salary; } // 메서드 구현을 작성합니다: public function increaseRevenue($value) { $this->salary = $this->salary + $value; } } ?>

우리 클래스의 동작을 확인해 보겠습니다.

<?php $employee = new Employee; $employee->setName('john'); $employee->setSalary(1000); $employee->increaseRevenue(100); echo $employee->getSalary(); ?>

이제 Student 클래스에서도 increaseRevenue 메서드를 구현해 보겠습니다. 이제 우리 메서드는 장학금을 증가시킬 것입니다.

<?php class Student extends User { private $scholarship; // 장학금 public function getScholarship() { return $this->scholarship; } public function setScholarship($scholarship) { $this->scholarship = $scholarship; } // 메서드는 장학금을 증가시킵니다: public function increaseRevenue($value) { $this->scholarship = $this->scholarship + $value; } } ?>

당신의 User 클래스에 동일한 추상 메서드 increaseRevenue를 추가하세요. EmployeeStudent 클래스에서 이 메서드의 구현을 작성하세요.

Figure 클래스에서 도형의 넓이와 둘레를 구하기 위한 추상 메서드를 만드세요.

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