4.6. 함수

함수(function), 서브루틴(subroutine), 루틴(routine), 메서드(method), 프로시저(procedure)는 소프트웨어에서 특정 동작을 수행하는 일정 코드 부분을 의미합니다.

함수는 대부분의 프로그래밍 언어에서 지원하는 기능으로, 하나의 큰 프로그램을 여러 부분으로 나누어 주기 때문에 같은 함수를 여러 상황에서 여러 차례 호출할 수 있으며 일부분을 수정하기 쉽다는 장점을 가집니다.

함수를 사용함으로써 얻는 장점은 다음과 같은 것들이 있습니다.

  • 하나의 큰 프로그램을 여러 부분으로 분리함으로써 구조적 프로그래밍이 가능합니다.

  • 같은 코드를 계속 쓰지 않음으로서 프로그램의 용량을 줄일 수 있고, 다른 부분이나 다른 프로그램에서 같은 코드를 사용할 수 있습니다.

  • 함수의 기능과 내부 구현을 분리하는 캡슐화가 이루어집니다.

함수 호출의 순서

함수를 지원하는 일반적인 프로그래밍 언어에서는 다음과 같은 구조를 갖습니다.

  1. 어떤 루틴에서 함수를 호출합니다. 이때 함수가 가지는 특정 변수에 값을 전달하기도 하며, 이 특정 변수를 매개변수(parameter)라고 하며 전달되는 값을 인자(argument)라고 부릅니다.

  2. 함수가 호출되어 계산을 수행합니다.

  3. 함수가 종료되고 실행 흐름이 원래의 루틴으로 돌아온다. 경우에 따라서는 함수가 계산하여 반환된 값(반환값, return value)을 원래의 루틴에서 사용하기도 합니다.

Last updated