PHP 함수 매개변수 전달 방식 및 함수 오버로딩에서의 활용
함수 매개변수 전달 방식
PHP는 두 가지 매개변수 전달 방법을 제공합니다.
- 참조 전달 (by reference): 함수 호출 시 전달된 매개변수의 주소를 사용합니다. 함수 내에서 매개변수를 수정하면 호출자 함수의 원본 값에도 영향을 미칩니다.
- 값 전달 (by value): 함수 호출 시 전달된 매개변수의 복사본을 사용합니다. 함수 내에서 매개변수를 수정하더라도 호출자 함수의 원본 값에는 영향이 없습니다.
함수 오버로딩
함수 오버로딩은 동일한 이름의 여러 함수를 정의하는 것을 의미합니다. 각 함수는 고유한 매개변수 목록이나 매개변수 유형을 가져야 합니다.
함수 매개변수 전달 방식과 함수 오버로딩의 활용
함수 매개변수 전달 방식을 사용하여 함수 오버로딩에서 다양한 매개변수 유형을 처리할 수 있습니다.
실전 사례
find()
라는 함수를 다음과 같이 정의합니다.
function find($name, $email = null, $phone = null) { // 코드... }
이 함수는 name
매개변수를 값 전달로 처리하고 email
과 phone
매개변수는 기본적으로 null 값으로 설정하여 참조 전달로 처리합니다.
이제 다음과 같은 호출을 할 수 있습니다.
find("John Doe"); // name 값 전달 find('John Doe', 'john.doe@example.com'); // name 값 전달, email 참조 전달 find("John Doe", null, "123-456-7890"); // name 값 전달, email null, phone 참조 전달
위의 예에서 볼 수 있듯이 매개변수 전달 방식을 사용하여 다양한 매개변수 유형의 함수 오버로딩을 구현할 수 있습니다.