메서드
Coddy PHP 여정의 객체 지향 프로그래밍 섹션에 포함된 레슨 — 91개 중 5번째.
메서드는 클래스에 속하는 함수입니다. 메서드는 객체가 수행할 수 있는 동작이나 행위를 정의합니다.
다음은 메서드를 포함한 클래스의 예시입니다:
<?php
class Calculator {
public function greet() {
echo "Hello! I'm a calculator.\n";
}
public function add($a, $b) {
return $a + $b;
}
public function multiply($x, $y) {
$result = $x * $y;
echo $x . " × " . $y . " = " . $result . "\n";
return $result;
}
}계산기 객체를 생성합니다:
$myCalc = new Calculator();매개변수가 필요 없는 메서드를 호출합니다:
$myCalc->greet();매개변수를 사용하여 메서드 호출:
$sumResult = $myCalc->add(5, 3);
echo $sumResult . "\n";출력과 값 반환을 모두 수행하는 메서드를 호출합니다:
$product = $myCalc->multiply(4, 7);출력:
Hello! I'm a calculator.
8
4 × 7 = 28메서드는 다음을 수행할 수 있습니다:
add($a, $b)와 같이 매개변수를 받을 수 있습니다return $a + $b;와 같이 값을 반환할 수 있습니다
echo "Hello!";와 같이 출력을 직접 표시합니다.- 출력과 반환을 모두 수행합니다.
핵심 포인트: 메서드는 객체가 수행할 수 있는 작업을 정의합니다. 클래스 내부에서 메서드를 정의하려면 public function 키워드를 사용하세요. 객체에서 -> 연산자를 사용하여 메서드를 호출합니다.
챌린지
쉬움bank_account.php에 다음을 포함하는 BankAccount 클래스를 생성하세요:
public $balance속성- 금액을 인자로 받아 잔액에 더하는
deposit메서드 - 금액을 인자로 받아 잔액에서 빼는
withdraw메서드 - 현재 잔액을 반환하는
getBalance메서드
그런 다음 driver.php에서 잔액이 0인 계좌를 생성하고, $100를 입금하고, $30를 출금한 후, 잔액을 "Current balance: $[balance]" 형식으로 출력하세요.
치트 시트
메서드는 클래스에 속하며 객체가 수행할 수 있는 동작이나 행동을 정의하는 함수입니다.
public function을 사용하여 클래스 내부에 메서드를 정의합니다:
<?php
class Calculator {
public function greet() {
echo "Hello! I'm a calculator.\n";
}
public function add($a, $b) {
return $a + $b;
}
public function multiply($x, $y) {
$result = $x * $y;
echo $x . " × " . $y . " = " . $result . "\n";
return $result;
}
}객체에서 -> 연산자를 사용하여 메서드를 호출합니다:
$myCalc = new Calculator();
$myCalc->greet();
$sumResult = $myCalc->add(5, 3);
$product = $myCalc->multiply(4, 7);메서드는 다음과 같은 작업을 수행할 수 있습니다:
- 매개변수 받기:
add($a, $b) - 값 반환하기:
return $a + $b; - 출력하기:
echo "Hello!"; - 출력과 반환을 동시에 수행하기
직접 해보기
<?php
require_once 'bank_account.php';
$myAccount = new BankAccount();
$myAccount->balance = 0;
// TODO: 100 입금
// TODO: 30 출금
// TODO: "Current balance: $[balance]" 형식으로 잔액 출력
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
객체 지향 프로그래밍의 모든 레슨
8매직 메서드
매직 메서드 소개__toString 및 __debugInfo__get, __set, __isset, __unset__call 및 __callStatic__clone 및 객체 복제__serialize 및 __unserialize요약 - 커스텀 컬렉션