함수는 미리 정해진 동작을 수행하는 코드 묶음입니다.
어떤 처리를 미리 함수로 만들어두면 다시 반복해서 사용할 수 있습니다.
초등학교 수학시간에 나오는 마법 상자가 바로 함수입니다.

4.2.1 함수로 중복 코드 줄이기
프로그래밍에서 함수는 미리 지정된 동작을 수행하는 코드 묶음입니다.
함수를 사용하면 같은 동작을 수행하는 코드를 여러 번 작성할 필요가 없습니다.
반복되는 코드를 함수로 대체하면
물체를 움직이는 기능에 관한 코드를 Move() 라는 함수로 묶습니다.
void Move() {
체력 10만큼 감소
오브젝트를 3미터 옮기기
효과음 재생
}
물체를 움직이는 기능에 관한 코드를 Move() 라는 함수로 묶습니다.
대괄호 안에 묶인 영역은 Move() 함수의 바디 body가 됩니다.
이렇게 하면 어떤 물체를 움직일 때 Move() 함수만 사용하면 됩니다.
4.2.2 함수의 입력
나무 상자는 가볍고 금속 상자는 무겁습니다.
따라서 물체에 따라 필요한 체력과 한 번에 옮기는 거리가 달라야 합니다.
앞의 예제에서는 Move() 함수가 사용하는 수치가
체력은 10, 거리는 3으로 고정되어 있습니다.
나무를 옮길 때에는 체력을 10 소모하여 물체를 3미터,
금속을 옮길 때는 체력 30을 소모하여 물체를 1미터 옮기고 싶습니다.
이럴 때에는 함수의 입력을 사용합니다.
Move()의 괄호 부분은 바깥에서 값을 줄 수 있는 입구입니다.
이 입구를 사용해 값을 전달할 수 있도록 Move() 함수를 변경하겠습니다.
4.2.3 함수의 출력 (반환값)
Move() 함수는 실행 결과를 다른 곳에 전달할 필요가 없었습니다.
하지만 어떤 함수는 계산이나 처리 결과를 다른 곳에 전달할 필요가 있습니다.
임의의 숫자를 하나 생성하는
GetRandomNumber() 함수를 살펴봅시다.
이 함수는 변수 number을 만들고 임의의 숫자를 할당하지만
그 값을 외부에 전달하지는 않습니다.
이 때 return 키워드를 사용하면
값을 외부로 전달할 수 있습니다.
return number; 는
number를 반환한다
라고 읽습니다.
return은
(1) 함수를 종료하고
(2) 자신을 실행(호출)한 곳으로 되돌아가서 값을 전달(반환)합니다.
return은
(1) 함수를 종료하고
(2) 자신을 실행(호출)한 곳으로 되돌아가서 값을 전달(반환)합니다.
GetRandomNumber()는 결과로 정수 int를 반환하므로
함수 이름 앞에 반환값 (출력값/리턴값) 타입을 표시해주었습니다.
'잡동사니 > [2022] 회로이론' 카테고리의 다른 글
[4.4] 코딩 기본 규칙 (0) | 2022.12.22 |
---|---|
[4.3] 첫 스크립트 작성하기 (0) | 2022.12.22 |
[4.1] 변수 개념 잡기 (0) | 2022.12.21 |
[3.4] 메시지와 브로드 캐스팅 (0) | 2022.12.19 |
[백준/Java] 숫자의 합 (0) | 2022.12.18 |