함수가 받는 값과 돌려주는 값을 읽어요
앞 레슨의 정수·변수·곱셈을 사용해요. 함수는 입력을 받고 계산 결과를 돌려주는 이름 있는 코드예요.
int doubleCount(int count) {
return count * 2;
}
맨 앞 int는 반환값이 정수라는 뜻이에요. 괄호 안 int count는 함수가 받는 정수예요. doubleCount(6)을 호출하면 count에 6이 들어오고 12를 반환해요. return 뒤의 식이 함수 호출의 결과가 돼요.
계산 결과를 출력하지 않고 반환해요
int addExtra(int amount, int extra) {
return amount + extra;
}
int result = addExtra(8, 3);를 실행하면 result는 11이에요. 반환 순서를 따라가 보면 입력은 8과 3, 계산은 8+3, 반환값은 11이에요.
addExtra(3, 8)도 11일까요? 이 함수는 덧셈이라 같아요. 하지만 빼기라면 인자 순서를 바꾸면 결과도 달라져요. 함수 문제에서는 이름보다 매개변수의 의미와 반환 계약을 먼저 읽어요. 아래 과제의 입력·출력은 실행용 main이 맡으니 solution에서 cin이나 cout을 쓰지 않아도 돼요.
직접 풀어봐요
물건 quantity개를 개당 price원에 포장하고, 묶음 전체에 fee원 기본료를 한 번 더해요. solution(quantity, price, fee)에서 전체 요금을 정수로 반환해요. 수량이 0이어도 기본료는 부과해요.
세 매개변수는 각각 0~1000이에요. 실행용 입력은 한 줄의 quantity price fee, 출력은 반환값 한 개예요. 입력 파싱과 출력은 하네스가 처리해요.
예시 1: (3, 7, 5) → 26. 물건 값 21원에 기본료 5원을 한 번 더해요.
예시 2: (2, 10, 0) → 20. 기본료가 없어요.
예시 입력
3 7 5
예상 결과
26
예시 입력
2 10 0
예상 결과
20
핵심 개념
function-design: 함수 시그니처에서 매개변수와 반환형을 먼저 읽어요.return은 호출한 곳에 결과를 전달해요.