StartprogrammingusingObjectPascal:Functions
함수
함수는 프로시저와 유사하지만 값을 되돌리는 기능이 또 있습니다. 우리는 이전에 텍스트를 대문자로 바꿔주는 UpperCase와 숫자의 절대 값을 되돌려주는 Abs와 같은 함수를 사용했습니다.
다음 예제에서는 두 개의 정수값을 받아서 값들의 합을 되돌려주는 GetSumm 함수를 작성했습니다.
function GetSumm(x, y: Integer): Integer;
begin
Result := x + y;
end;
var
Sum: Integer;
begin
Sum := GetSumm(2, 7);
Writeln(‘Summation of 2 + 7 = ’ , Sum);
Write('Press enter key to close');
Readln;
end.
함수를 정수형으로 선언하고, 함수의 되돌릴 값을 나타내기 위해 Result 키워드를 사용했음을 눈여겨 보도록 합니다.
메인 프로그램에서 함수의 값을 받기 위해 Sum변수를 사용했지만, 이 중간 변수를 없애고 Writeln 프로시저에서 이 함수를 호출할 수 있습니다. 이것이 함수와 프로시저의 차이점 중 하나입니다. 다른 프로시저나 함수에서 함수를 입력 인자로써 호출할 수 있지만, 프로시저는 다른 함수와 프로시저의 인자로서 호출할 수 없습니다.
function GetSumm(x, y: Integer): Integer;
begin
Result := x + y;
end;
begin
Writeln(‘Summation of 2 + 7 = ’ , GetSumm(2, 7));
Write('Press enter key to close');
Readln;
end.
다음 예제에서는 함수를 사용하여 식당 프로그램을 다시 작성했습니다.