본문 바로가기
Delphi/문법

Record Helper로 레코드에 메서드 추가하기

by MonoSoft 2025. 6. 11.
728x90
반응형

Record Helper로 레코드에 메서드 추가하기

 

델파이의 Record Helper 기능을 활용하면 
기존 레코드 타입에 메서드를 확장할 수 있습니다. 
이를 통해 데이터 중심 구조에 객체지향적인 
동작을 부여할 수 있어 코드 재사용성과 가독성이 향상됩니다.

type
  TPoint = record
    X, Y: Integer;
  end;

  TPointHelper = record helper for TPoint
    function ToString: string;
    procedure Offset(DX, DY: Integer);
  end;

function TPointHelper.ToString: string;
begin
  Result := Format('(%d, %d)', [X, Y]);
end;

procedure TPointHelper.Offset(DX, DY: Integer);
begin
  Inc(X, DX);
  Inc(Y, DY);
end;

procedure UsePointHelper;
var
  P: TPoint;
begin
  P.X := 5;
  P.Y := 10;
  P.Offset(3, -2);
  ShowMessage(P.ToString); // "(8, 8)"
end;


기존 레코드에 기능을 추가하고 싶을 때 유용

객체처럼 메서드를 호출할 수 있어 표현력이 향상됨

단, 동일 타입에 다중 헬퍼는 적용되지 않으므로 주의 필요

레코드에 행동(Behavior)을 더해 더 풍부한 데이터 구조를 만들어보세요. 
OOP 스타일로 델파이를 활용하는 좋은 예입니다!


#델파이
#Delphi
#RecordHelper
#TPoint
#구조체확장
#Offset메서드
#객체지향
#헬퍼패턴
#ShowMessage
#코드재사용성

728x90
반응형

댓글