12.1. 함수란?

- **매개변수(parameter)** : 함수 내부로 입력을 전달받는 변수
- **인수(argument)** : 입력
- **반환값(return value)** : 출력
- **함수 호출(function call/invoke)**
 : 인수를 매개변수를 통해 함수에 전달해서 함수가 실행될 수 있게하는 과정 

12.2. 함수를 사용하는 이유

image.png

- 함수를 사용하지 않고 코드를 중복해서 여러 번 작성하면 그 코드를 수정해야 할 때
중복된 횟수 만큼 코드를 수정해야 한다.

- 함수를 사용하면 코드의 **중복을 억제**할 수 있고 **유지보수의 편의성**을 높이고
실수를 줄여 **코드의 신뢰성**을 높이는 효과가 있다.

12.3. 함수 리터럴

예제)

// 변수에 함수 리터럴을 할당
const f = function add(x, y) {
	return x + y;
}

※ 리터럴 : 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기 방식

12.4. 함수 정의

image.png

12.4.1. 함수 선언문

// 함수 선언문
function add(x, y) {
	return x + y;
}