함수? 수학 시간에 봤던 복잡한 좌표나 숫자 떠오르지만, 사실 함수는 생각보다 단순하다.
함수는 일종의 상자로 생각하면 편하다.이 상자에 입력값(input)이 들어가고, 상자 안에서 어떤 작업이 이루어진 후 출력값(output)이 나오게 된다.
자바스크립트에서 함수는 일을 다 하고 나면 return
키워드를 사용해 값을 돌려준다.
이때 return
된 값은 호출한 자리로 슝~하고 돌아가는데, 마치 “일은 내가 했으니 알아서 써라” 하고 내던지는 느낌이다.
return된 값은 편지의 답장이 온 것처럼 함수 호출 위치로 “전달”된다.
아래는 get7()
함수가 숫자 7을 반환하는 예시다.
// get7 함수 선언
function get7() {
// return: 함수가 실행된 후, 값 7을 return(돌려줌)
// return된 값은 함수 호출한 자리로 전달됨
return 7;
}
// get7() 함수 호출: 함수가 호출되면 return값 7이 반환되고,
// 이 값은 console.log에 전달되어 출력됨
console.log(get7()); // 출력: 7
이 함수는 호출되면 무조건 7을 반환한다. return
된 값은 함수가 호출된 자리로 돌아가서 console.log()
에 전달되어 출력된다.
쉽게 말해, 함수는 계산한 결과값을 외부로 전달하는 역할을 한다.
함수는 외부에서 파라미터를 받아서 그 값을 처리한 후 결과를 return
할 수도 있다.
예를 들어, 어떤 숫자를 받아서 그 숫자의 두 배를 돌려주는 함수를 만들어 보자.
// getTwice 함수: 입력된 숫자의 두 배를 return함
function getTwice(number) {
return number * 2; // 입력된 값 * 2를 return
}
// 함수 호출: 5를 전달하면 10이 return되고 출력됨
console.log(getTwice(5)); // 출력: 10
여기서 숫자 5가 파라미터로 전달되면, 함수는 5의 두 배인 10을 반환한다. 파라미터 덕분에 입력 값을 자유롭게 조정해 원하는 결과를 얻을 수 있다.
생각해보기: 그럼
getTwice(3.5)
는 어떤 결과를 줄까? 직접 테스트해보면 파라미터와return
의 관계를 더 쉽게 이해할 수 있을 것이다.이 함수는 마치 “요청하신 두 배, 바로 나갑니다!” 하고 바로 돌려주는 친절한 계산기 같은 존재!
함수의 return
값은 변수에 저장할 수 있으며, 이를 다른 연산에 사용할 수 있다.
예를 들어, 두 개의 값을 받아서 각각의 결과를 곱하는 예시를 살펴보자.
let x = getTwice(5); // x에는 10이 저장됨
let y = getTwice(2); // y에는 4가 저장됨
console.log(x * y); // 출력: 40
이 코드에서 x에는 10, y에는 4가 저장되고, x * y를 계산하면 40이 출력된다. 이렇게 return
값을 변수에 저장해 두면, 다른 계산이나 로직에서 재활용할 수 있어 함수의 활용도가 훨씬 높아진다.
문제 설명: 사회초년생 지훈이 매수한 주식의 매수 금액, 매도 금액, 보유 주식 수를 바탕으로 총 수익을 계산하고 싶어 한다. 공식은 간단하다:
총 수익 = (매도 금액 - 매수 금액) × 보유 주식 수
구현할 함수: stockProfitCalculator
함수는 매수 금액, 매도 금액, 보유 주식 수를 입력받아 총 수익을 계산한다.
// 주식 수익을 계산해주는 함수 작성
// 여기에 코드를 작성하세요
// 조건 입력 테스트
let buyPrice = 50000; // 주식을 매수한 금액 (1주당)
let sellPrice = 60000; // 주식을 매도한 금액 (1주당)
let numberOfShares = 10; // 보유 주식 수
// 수익 계산 후 출력
let totalProfit = stockProfitCalculator(buyPrice, sellPrice, numberOfShares);
console.log('총 수익은 ' + totalProfit + '원 입니다.');
// 주식 수익을 계산해주는 함수
function stockProfitCalculator(buyPrice, sellPrice, numberOfShares) {
return (sellPrice - buyPrice) * numberOfShares; // 수익 계산 후 return
}
// 조건 입력 테스트
let buyPrice = 50000; // 주식을 매수한 금액 (1주당)
let sellPrice = 60000; // 주식을 매도한 금액 (1주당)
let numberOfShares = 10; // 보유 주식 수
// 총 수익 계산 후 출력
let totalProfit = stockProfitCalculator(buyPrice, sellPrice, numberOfShares);
console.log('총 수익은 ' + totalProfit + '원 입니다.');
출력 결과:
총 수익은 100000원 입니다.
함수의 return
값은 단순히 출력하는 데 그치지 않고, 변수에 저장하거나 다른 함수의 입력값으로 활용할 수도 있다. 이렇게 하면 여러 함수의 결과를 연결해서 복잡한 작업도 간단하게 처리할 수 있다. 함수의 모듈화를 통해 유연하고 효율적인 코드를 작성할 수 있게 된다.
return
값을 통해 함수가 처리한 결과를 외부로 전달하는 방식은 프로그래밍에서 매우 중요한 개념이다.
return
을 사용하면 함수의 결과를 변수에 저장하거나, 다른 계산에 활용할 수 있어 함수의 유연성이 크게 향상된다.함수는 단순한 작업을 반복적으로 처리하는 데 매우 유용한 도구로, 특히
return
값을 적절히 활용하면 훨씬 다양한 방식으로 함수를 활용할 수 있다.