StartprogrammingusingObjectPascal:Functions

From 흡혈양파의 번역工房
Jump to: navigation, search

함수

함수는 프로시저와 유사하지만 값을 되돌리는 기능도 있습니다. 우리는 이전에 텍스트를 대문자로 바꿔주는 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.

다음 예제에서는 함수를 사용하여 음식점 프로그램을 다시 작성했습니다.