R's Hacking Daily Log

php 함수 (1) 본문

PHP

php 함수 (1)

hanhxx 2023. 7. 5. 22:57

Step 1 :: 함수 알아보기

함수란 간단히 말해 특정 기능을 수행하는 코드 모음집으로 

여러 번 사용되는 코드를 묶어서 함수로 정의하면 코드도 간결해지고 수정 및 유지보수도 간편해진다.

 

함수는 프로그래밍에서 필수적으로 알아야 하는 부분인 만큼 그 구조와 활용 형태가 어떤지 살펴보도록 하자.

<?php
function FUNCTION_NAME() {
    # 수행할 코드
}

함수는 function keyword를 앞에 붙임으로써 정의한다. 

function keyword + 함수명 + 괄호 () + 중괄호 {} 순으로 작성하면 된다.

 

제어문에서와 동일하게 실행할 코드는 중괄호 안에 기술한다. 

매개변수를 사용할 경우에는 괄호 안에 매개 변수명을 나열하며 함수의 결과를 "반환"하는 경우에는 

중괄호 안에서 return keyword를 사용할 수 있다. 

 

 

함수를 정의한 다음, 사용하기 위해서는 함수명으로 "호출"하면 된다.

함수 호출은 "xx 함수! 너 동작해라"라고 말하는 의미이다. 

 

<?php

function hello() {
    echo "hello";
}

hello()

예를 들어 hello 문구를 출력하는 hello 함수가 있다고 할 때

이 함수를 실행하기 위해서는 간단히 hello()라고 함수명을 써주기만 하면 함수가 호출된다. 

 

만약 인수를 사용하는 경우에는 괄호 안에 인수를 적어주면 끝!

 

** 매개변수

함수를 호출할 때 전달된 값을 받는 변수를 얘기한다. 

함수를 정의할 때, 괄호 안에 작성하는 변수를 매개 변수라고 할 수 있다.

 

** 인수

함수를 호출할 때 전달되는 값이다. 

함수를 호출할 때, 괄호 안에 전달되는 값을 인수라고 할 수 있다.

 

 

지금은 함수에 대한 전반적인 개념을 설명하는 부분이기 때문에

이해가 잘 안 가더라도 일단은 넘어가도록 하자. (step2에서 예제 코드를 살펴볼 예정)

 


Step 2 :: 함수 활용하기

Step 1에서는 함수가 무엇인지, 알아둘 만한 개념 위주로 살펴보았다.

Step 2에서는 함수가 어떤 형태로 사용되는지, 함수 정의 형태가 어떻게 조금씩 다른 지 알아보자. 

 

문구를 출력하는 함수를 정의하고 싶다는 가정 하에 함수를 만들어볼까 한다.

첫 번째 함수 sayBye()는 ByeBye 문구를 출력한다.

위에서 살펴봤던 형태와 동일하기 때문에 그나마 눈에 익은 함수의 모습일 것이다.

sayBye()로 함수가 호출되면 echo 함수가 동작하여 문구를 출력하게 된다. 

 

 

 

두 번쨰 함수 sayHello()는 Hi Hello 문구를 출력한다.

이번엔 매개 변수 $str을 활용하여 함수가 호출될 때 사용된 인수값을 출력하는 형태로 함수가 정의된 걸 볼 수 있다. 

 

이때 위에서도 말했듯이 sayHello()로 함수가 호출될 때 전달된 값 "Hi~ Hello"가 인수이고

함수 정의에서 괄호 안에 작성된 $str이 매개변수이다.

 

매개 변수는 함수를 호출할 때 전달된 인수를 받는 역할로 함수 내에서 사용할 수 있는 변수이다. 

따라서 두 번째 함수는 매개 변수 값을 그대로 출력하는 함수인 것!

 

 

 

세 번째 함수 sayGoodnight()는 $str 값을 반환하는 함수이다.

이 함수는 함수 내에서 $str 변수에 "Good night" 문자열을 할당하고 그 값을 return 하고 있다.

return keyword는 "함수가 끝날 때 결과를 남겨줘라"는 의미로 함수의 결과를 얻고자 할 때 사용하면 된다. 

 

 

 

네 번째 함수 introduce()는 두 개의 매개 변수를 가지는 함수이다.

매개 변수 값을 이용해 문구를 출력하는 역할을 한다. 

 

앞에서는 매개 변수가 하나인 경우를 살펴봤는 데, 이처럼 매개 변수를 두 개 이상 사용하고자 한다면 

괄호 안에 콤마로 구분해 나열해 주면 그만이다.

 


지금까지 "문구를 출력하는 함수"를 서로 다른 형태로 구현한 예시를 살펴보았다. 

 

동일한 기능을 수행하는 함수라고 하더라도 다양한 형태로 정의될 수 있고

그 안에서  매개 변수의 유무, return의 유무 등 차이가 존재할 수 있다는 걸 알고 넘어가도록 하자!

 

'PHP' 카테고리의 다른 글

php 함수 (3)  (0) 2023.07.06
php 함수 (2)  (0) 2023.07.05
php 반복문 다루기  (0) 2023.07.04
php 조건문 다루기  (0) 2023.07.03
php 연산자 다루기 (2)  (0) 2023.07.02
Comments