해결됨: 재정의

마지막 업데이트 : 09/21/2023

재정의는 메모리 활용을 현명하게 촉진하는 COBOL 언어의 강력한 기능입니다. 이를 통해 프로그래머는 서로 다른 시간에 서로 다른 데이터를 저장하기 위해 동일한 메모리 공간을 사용할 수 있습니다. 재정의를 사용하는 프로세스는 코드 효율성을 높입니다. 기능을 더 자세히 살펴보기 위해 솔루션을 자세히 살펴보고 코드에 대한 단계별 설명을 살펴보겠습니다.

COBOL에서 재정의 활용

01 고객 기록.
05 고객 이름 사진 X(15).
05 소매-기록.
10 금액 그림 9(6).
10 날짜 그림 9(6).
05 도매 기록은 소매 기록을 재정의합니다.
10 수량 그림 9(4).
10 항목 사진 X(8).

COBOL의 재정의 절을 사용하면 데이터 항목을 여러 설명으로 정의할 수 있습니다. 위의 `RETAIL-RECORD` 및 `WHOLESALE-RECORD`와 같은 이러한 데이터 항목에 할당된 메모리는 작업 저장소에서 동일한 메모리 공간을 차지합니다.

참고: Redefines 절은 크기가 같거나 작은 데이터 항목에만 사용할 수 있습니다.

단계별 코드 설명

위에 제공된 예에서 도매 및 소매 기록은 고객 기록 아래에 저장됩니다. 그들은 동일한 메모리 공간을 차지하지만 다른 목적으로 사용됩니다. 이는 이 두 레코드 중 하나가 특정 시점에 존재하거나 사용될 수 있도록 효과적으로 허용합니다.

소매 기록에는 금액과 날짜가 기록되고, 도매 기록에는 수량과 품목이 기록됩니다. 그러나 동시에 함께 사용하지는 않습니다.

  • 'REDEFINES' 절은 'WHOLESALE-RECORD'가 'RETAIL-RECORD'의 대체 설명임을 명시하는 데 사용됩니다. 별도의 메모리를 할당하지 않고 `RETAIL-RECORD`에 의해 할당된 공간을 사용한다.
  • 'RETAIL-RECORD'에는 'AMOUNT' 및 'DATE'가 포함되는 반면, 'WHOLESALE-RECORD'에는 'QTY' 및 'ITEM' 데이터가 포함됩니다.
  • `CUSTOMER-NAME`은 별도로 작동하므로 재정의와 독립적입니다.

재정의 사용

재정의는 다양한 데이터 레이아웃이 서로 다른 시간에 로드되고 일부 조건에 따라 프로그램이 처리할 레이아웃을 선택하는 시나리오에서 일반적으로 사용됩니다. 이는 메인프레임 애플리케이션의 주요 관심사인 메모리 공간을 줄이고 처리 속도를 높이는 데 상당한 영향을 미칩니다.

이는 주어진 시간에 프로그램의 요구 사항에 따라 동일한 메모리 부분을 다양한 방식으로 보는 방법으로 사용됩니다.

전반적으로 COBOL 프로그램에서 `REDEFINES` 절을 활용하는 것은 메모리에서 데이터 항목의 불필요한 중복을 피함으로써 메모리를 관리하는 효율적인 방법입니다. `REDEFINES`를 사용하면 COBOL 프로그램을 더 유지 관리하기 쉽고, 읽고 이해하기 쉽게 만들 수 있습니다.

관련 게시물: