지윤이글스 2022. 8. 29. 21:06

함수란? 

함수는 프로그래밍에서 가장 중요한 개념입니다. 함수는 영어로 function 이라고 부릅니다. 

함수에 집어넣는 값을 "입력값(input)", 함수가 뱉어내는 값을 출력값(output)이라고 부릅니다. 

 

 

#함수를 만드는 방법

1.입력값이 없는 경우

function 함수name (){
  실행할 내용
  }

2.입력값이 있는 경우

function 함수name(매개변수){
  실행할 내용
  }

#매개변수 

매개변수는 함수에 입력된 값을 임시로 저장해 두기 위한 변수입니다. 

function plus(x){
  console.log(x+2)
  }
 >plu3(3)
 5

plus 라는 이름의 함수를 만들었네요. 사용자는 괄호를 통해 함수에 값을 전달합니다. plus(3) 이렇게 3이라는 값을 괄호에 넣어줬습니다. 이렇게 5라는 사용자가 입력해준 값은 x라는 변수에 저장됩니다. 그리하여 콘솔을 이용해 x+2라는 값을 출력해 5라는 값을 출력하게됩니다.  여기서 사용된 x와같이 사용자로부터 입력받은 값을 임시로 저장해 두기위한 도구를 매개변수라고 합니다. 매개변수는 여러개가 활용될 수도 있습니다. 

function multiple(x,y){
  console.log(x*y)
  }
  >multiple(3,4)
  12

 

#return 리턴 

>let a  = multiple(3,4)
>a
undefined

우리가 앞서 사용한 console.log()는 화면에 글자를 출력하는 것 이외의 기능은 없습니다. 함수에서 복잡한 계산을 수행하고 그 결과물을 다른 변수에 담아서 활용하려면 어떻게 해야할까?

 

함수상자그림을 떠올려보면  상자에는 출력값이 있다. 그런데 우리는 함수를 만들면서  별도의 출력값을 만들어준적이 없습니다. 그래서 출력값을 만들 때는 리턴을 사용합니다. 

function plus(x,y){

return x+y

}

>let t = plus(3,4)

>t

function plus(x,y){
return x+y
}
>let t = plus(3,4)
>t

리턴을 이용해서 x+y라는 값을 출력값으로 지정해줬습니다. 함수가 실행되면 상자 밖으로 x+y라는 값이 뿅!하고 튀어나오겠지요? 이렇게 튀어나온값을 t라는 변수에 저장해 활용하는 모습입니다. 

함수를 실행하는 중 리턴을 만나면 함수가 종료됩니다. 리턴은 가장 마지막에 하는 행동이기때문에 이를 응용해서 값을 전혀 출력할 필요가 없음에도 함수를 강제 종료시키기위해 리턴을 사용하기도 합니다!