JavaScript 함수 선언 및 호출 방법 완벽 가이드
JavaScript는 동적이고 유연한 프로그래밍 언어로, 함수는 그 중에서도 가장 핵심적인 개념 중 하나입니다. 함수를 통해 코드의 재사용성을 높이고, 복잡한 작업을 간결하게 수행할 수 있습니다. 이번 가이드에서는 JavaScript에서 함수 선언과 호출 방법에 대해 자세히 알아보겠습니다.

함수란 무엇인가?
함수는 특정 작업을 수행하기 위한 코드 블록입니다. 프로그램 내에서 반복적으로 사용되는 코드를 그룹화하여, 코드의 구조를 명확하게 하고 유지 관리를 용이하게 해줍니다. JavaScript에서는 두 가지 주요 방식으로 함수를 선언할 수 있습니다: 함수 선언문과 함수 표현식입니다.
1. 함수 선언문(Function Declaration)
함수 선언문은 가장 전통적인 방식으로, 아래와 같은 형태로 작성됩니다.
function 함수이름(매개변수1, 매개변수2, ...) { // 수행할 작업 }
예를 들어, 두 수를 더하는 함수를 다음과 같이 선언할 수 있습니다:
function add(a, b) { return a + b; }
이제 이 함수를 다음과 같이 호출할 수 있습니다:
let result = add(3, 5); // result는 8
2. 함수 표현식(Function Expression)
함수 표현식은 함수를 변수에 할당하는 방식으로, 아래와 같이 작성합니다:
let 함수이름 = function(매개변수1, 매개변수2, ...) { // 수행할 작업 };
아래와 같이 함수를 선언하고 호출하는 예시를 살펴보겠습니다:
let multiply = function(a, b) { return a * b; }; let product = multiply(4, 5); // product는 20
이와 같이, 함수 표현식을 사용하면 변수에 함수가 저장되어 필요할 때마다 호출할 수 있습니다.
3. 화살표 함수(Arrow Function)
ES6에서 도입된 화살표 함수는 더 간결한 문법으로 함수를 작성할 수 있게 해줍니다. 화살표 함수를 사용하면 다음과 같이 표현할 수 있습니다:
let 함수이름 = (매개변수1, 매개변수2, ...) => { // 수행할 작업 };
단일 표현식만 있는 경우 중괄호와 return 키워드를 생략할 수 있습니다:
let add = (a, b) => a + b;
화살표 함수는 간단한 함수를 빠르게 작성할 수 있는 장점이 있습니다.
4. 함수 호출하기
함수를 호출할 때는 함수 이름 뒤에 괄호를 붙입니다. 인수를 제공하여 원하는 결과를 얻을 수 있습니다. 다음은 다양한 형태의 함수 호출 예시입니다:
- 단순 호출:
sayHello();
- 인수 전달:
let total = add(10, 20);
- 화살표 함수 호출:
let result = multiply(2, 3);
5. 함수의 매개변수와 인수
함수는 매개변수를 통해 외부에서 값을 받아서 처리할 수 있습니다. 이때 매개변수는 함수 선언 시 정의된 변수이며, 인수는 함수를 호출할 때 전달하는 값입니다. 아래 예시를 통해 살펴보겠습니다:
function greet(name) { alert("안녕하세요, " + name + "!"); } greet("홍길동"); // "안녕하세요, 홍길동!" 출력
6. 콜백 함수(Callback Function)
자바스크립트에서는 함수가 다른 함수의 인수로 전달될 수 있습니다. 이러한 함수를 콜백 함수라고 부릅니다. 예를 들어, 사용자에게 질문을 하고 그에 대한 응답에 따라 다른 작업을 수행하는 함수를 작성할 수 있습니다:
function ask(question, yes, no) { if (confirm(question)) yes(); else no(); } ask( "이 작업을 수행하시겠습니까?", function() { alert("동의하셨습니다."); }, function() { alert("취소 버튼을 누르셨습니다."); } );

7. 결론
JavaScript에서 함수는 매우 중요한 개념으로, 코드의 모듈화와 재사용성을 높이는 데 기여합니다. 함수 선언문, 함수 표현식, 화살표 함수 등의 다양한 방법을 통해 함수를 정의할 수 있으며, 콜백 함수를 이용한 유연한 코드 작성을 가능하게 합니다. 이러한 함수를 적절히 활용하면, 보다 효율적이고 유지보수가 용이한 코드를 작성할 수 있습니다.
이 글을 통해 JavaScript 함수의 기본 개념과 활용 방법에 대해 이해하는 데 도움이 되었기를 바랍니다.
질문 FAQ
JavaScript에서 함수란 무엇인가요?
JavaScript에서 함수는 특정 작업을 수행하기 위해 설계된 코드 블록을 의미합니다. 이러한 함수는 재사용 가능성을 높이고, 코드의 구조를 보다 분명하게 만들어줍니다.
함수는 어떻게 선언하나요?
함수는 전통적인 방법인 함수 선언문 또는 함수를 변수에 저장하는 표현식으로 선언할 수 있습니다. 두 가지 방식 모두 유용하게 사용됩니다.
화살표 함수는 무엇인가요?
화살표 함수는 ES6에서 도입된 간결한 구문으로, 코드 작성 시 더욱 직관적이고 빠르며, 특히 간단한 작업을 수행하는 데 적합합니다.
함수를 호출하려면 어떻게 하나요?
함수를 호출할 때는 함수 이름 다음에 괄호를 붙여주며, 필요한 경우 인수를 제공하여 원하는 결과를 얻을 수 있습니다.
콜백 함수란 무엇인가요?
콜백 함수는 다른 함수의 인수로 전달되는 함수를 의미합니다. 이를 통해 비동기 작업이나 특정 조건에 따른 처리를 유연하게 수행할 수 있습니다.