19.3 매개변수와 반환값
함수를 만들어 놓고 기능이 동일한 함수만 사용하지는 않습니다. 호출할 때마다 조금씩 다른 기능을 적용할 때는 함수의 매개변수를 달리하여 호출할 수 있습니다. 매개변수(인자, 파라미터)는 함수에 어떤 정보를 넘겨주는 데이터를 나타냅니다. 이러한 매개변수는 콤마를 기준으로 여러 개 설정할 수 있으며, 문자열과 숫자 등 모든 데이터 형식을 사용할 수 있습니다.
• 매개변수(인자, 파라미터)가 없는 함수: 매개변수도 없고 반환값도 없는 함수 형태는 가장 단순한 형태의 함수입니다. 함수 이름 뒤에 따라오는 괄호에 인자로 아무 값도 지정하지 않는 형태를 의미합니다. 앞에서 사용한 함수 중에서 모든 변수에 있는 값을 문자열로 변환시키는 ToString() 메서드처럼 빈 괄호만 있는 함수 형식을 나타냅니다.
• 매개변수가 있는 함수: 특정 함수에 인자 값을 1개 이상 전달하는 방식입니다. 정수형, 실수형, 문자형, 문자열형, 개체형 등 여러 가지 데이터 형식을 인자 값으로 전달할 수 있습니다.
• 반환값이 있는 함수(결괏값이 있는 함수): 함수의 처리 결과를 함수를 호출한 쪽으로 반환할 때는 return 키워드를 사용하여 데이터를 돌려줄 수 있습니다.
• 매개변수가 가변(여러 개)인 함수: C#에서는 클래스 하나에 매개변수의 형식과 개수를 달리하여 이름이 동일한 함수를 여러 개 만들 수 있습니다. 이를 가리켜 함수 중복 또는 함수 오버로드(overload)라고 합니다. 이 내용은 뒤에서 자세히 다루겠습니다.