메인 콘텐츠로 이동
HPO Software 첫 테이블 생성부터 실제 비즈니스 앱 구현까지, 4D 데이터베이스 및 로우코드 앱 빌딩을 위한 단계별 가이드를 확인하세요.

이 사이트의 일부 링크는 제휴 링크입니다. 해당 링크를 통해 구매하실 경우 추가 비용 없이 소정의 수수료를 받을 수 있으나, 이는 추천 내용에 영향을 주지 않습니다. 자세한 내용은 제휴 공개 정책을 확인하세요. 제휴 마케팅 공개.

최고의 4D 양식: 상위 추천 비교(2026)

4D 양식(Forms)은 4D 애플리케이션의 사용자 인터페이스 레이어이며, 플랫폼은 세부(detail), 목록(list), 출력(output) 양식의 세 가지 고유한 유형을 제공하며 각각 다른 작업에 적합합니다. 2026년에 이를 제대로 구현한다는 것은 작업에 맞는 양식 유형을 선택한 다음, 값 목록, 하위 양식 및 동적 속성을 계층적으로 구성하는 것을 의미합니다. 이 비교에서는 실용적인 옵션과 장단점, 그리고 결정 방법을 다룹니다.

주요 내용

  • 4D는 세 가지 유형의 4D 양식을 제공합니다: 세부(한 번에 하나의 레코드), 목록(그리드 형태의 여러 레코드), 출력(인쇄/보고서 레이아웃). 잘못된 유형을 선택하는 것은 초보자가 저지르는 가장 흔한 실수입니다.
  • 프로젝트 양식( .4DForm JSON 파일로 저장됨)이 현대적인 기본값입니다. 테이블 양식은 레거시 방식이며 단일 테이블에 연결되어 있습니다. 새로운 작업에는 프로젝트 양식을 사용해야 합니다.
  • 동적 양식(DIALOG, FORM LOAD, FORM GOTO PAGE)을 사용하면 런타임에 인터페이스를 생성하고 교체할 수 있으며, 이는 마법사 스타일의 흐름과 역할 기반 사용자 인터페이스에 필수적입니다.
  • 값 목록(정적, 계층적 또는 필드/배열 기반)은 드롭다운 목록, 콤보 상자 및 팝업 메뉴를 구동합니다. 이를 필드에 바인딩하는 것은 단 한 줄의 속성 변경으로 가능합니다.
  • 하위 양식은 하나의 양식을 다른 양식 내에 포함하며, 위젯을 복제하지 않고 마스터-세부(master-detail) 레이아웃을 생성하는 표준 방법입니다.
  • 목록 양식의 성능은 엔터티 선택(entity selection) 대 클래식 선택(classic selection) 여부와 대규모 레코드 세트에 대해 **지연 로딩(lazy loading)**이 활성화되었는지에 따라 크게 달라집니다.

”4D 양식”의 실제 의미

4D 양식은 구조(테이블 양식) 또는 독립형 프로젝트 파일(프로젝트 양식)로 저장되는 선언적 사용자 인터페이스 정의입니다. 양식에는 정의된 페이지 크기와 (선택적으로) 여러 페이지가 있는 캔버스에 배치된 개체(입력 필드, 버튼, 목록 상자, 하위 양식, 웹 영역 및 정적 텍스트)가 포함됩니다. 각 개체는 4D가 런타임에 평가하는 속성(데이터 소스, 입력 가능 상태, 글꼴, 좌표)을 가집니다.

비교에서 가장 중요한 차이점은 양식이 창(window)이 아니라는 점입니다. 양식은 레이아웃이며, 창은 4D가 양식을 표시하기 위해 여는 컨테이너입니다. 동일한 양식이 모달 대화 상자, 팔레트 창, 크기 조정 가능한 문서 창에 나타나거나 하위 양식으로 포함될 수 있습니다. 이러한 분리를 이해하면 숙련된 개발자는 양식을 다시 만드는 대신 여러 컨텍스트에서 하나의 양식을 재사용할 수 있습니다.

세 가지 양식 유형 비교

양식 유형표시 레코드일반적인 용도주요 주의사항
세부 양식하나데이터 입력, 레코드 편집, 대화 상자명시적인 탐색 필요(버튼, NEXT RECORD)
목록 양식여러 개브라우징, 선택, 대시보드대규모 선택 시 지연 로딩 또는 페이징 필요
출력 양식여러 개인쇄, PDF 내보내기, 보고서대화형 아님; 레이아웃이 인쇄 중심임

세부 양식은 데이터 입력의 핵심입니다. 테이블의 현재 레코드를 표시하고 사용자가 필드를 직접 편집할 수 있게 합니다. 세부 양식은 테이블에 전혀 바인딩하지 않고 프로세스 변수로만 구동할 수 있기 때문에 설정 대화 상자나 로그인 화면에 적합한 선택입니다.

목록 양식은 스크롤 가능한 레코드 그리드를 제공합니다. 최신 4D에서 목록 양식은 일반적으로 이전의 “열이 있는 목록 양식” 방식이 아닌 목록 상자(list box) 개체를 중심으로 구축됩니다. 목록 상자는 배열 기반 또는 선택 기반일 수 있으며, 선택 기반 목록 상자는 엔터티 선택에 직접 바인딩됩니다. 이는 ORDA 작업 시 선호되는 모델입니다.

출력 양식은 인쇄를 위해 존재합니다. 머리글, 바닥글 및 구분 수준(break levels)이 있는 페이지 레이아웃에 레코드를 렌더링합니다. 출력 양식은 화면상 상호 작용을 위한 것이 아니며, 4D는 사용자가 세부 양식에서처럼 필드로 탭 이동하는 것을 허용하지 않습니다.

관련 항목: — 자동화, 보기 및 공유 가능한 인터페이스를 갖춘 실제 관계형 데이터베이스 위에 있는 간단한 스프레드시트 인터페이스입니다..

이것들이 세 가지 주요 4D 양식입니다.

프로젝트 양식 vs. 테이블 양식

프로젝트 양식은 프로젝트의 “Forms” 폴더에 개별 “.4DForm” 파일로 저장되며 버전 관리가 가능합니다. 각 양식이 별도의 JSON 문서이므로, 서로 다른 양식을 편집하는 두 개발자가 병합 중에 충돌하는 경우가 거의 없습니다. 테이블 양식은 구조 파일에 위치하며 동일한 양식 편집기를 통해 편집되지만, 개념적으로 단일 테이블에 연결되어 있습니다.

2026년을 위한 실용적인 팁: 모든 새 양식을 프로젝트 양식으로 시작하세요. 테이블 양식은 여전히 완전히 지원되며 레거시 데이터베이스에서 접하게 되겠지만, 프로젝트 양식은 더 명확한 차이점, 테이블 간의 쉬운 재사용, 그리고 더 명확한 멘탈 모델을 제공합니다. 테이블 양식을 프로젝트 양식으로 변환하려면 테이블의 양식 목록에서 프로젝트의 양식 목록으로 이동시키면 되며, 이때 개체 정의는 보존됩니다.

쇼핑하는 경우: — 더 넓은 Zoho 제품군에 연결되고 앱당 가격이 아닌 사용자당 가격으로 제공되는 로우 코드 앱 빌더입니다..

양식 구축: 핵심 단계

  1. 양식 편집기(Explorer → Forms → New)에서 세부, 목록 또는 출력 유형을 선택하여 양식을 생성합니다.
  2. 페이지 크기를 설정하고, 필요한 경우 다단계 레이아웃을 위한 페이지를 추가합니다.
  3. 개체 배치: Explorer에서 캔버스로 필드를 드래그하거나 개체 라이브러리에서 버튼, 목록 상자, 하위 양식을 추가합니다.
  4. 데이터 소스 연결: 각 입력 개체를 필드, 변수 또는 표현식에 할당합니다.
  5. 드롭다운 목록, 콤보 상자 또는 팝업 메뉴에 대한 값 목록을 구성합니다.
  6. 이벤트 연결(Wire Events) — 양식 이벤트(On Load, On Clicked, On Data Change) 및 개체 이벤트에 메서드를 연결합니다.
  7. 내장 미리보기를 사용하여 양식 편집기에서 테스트한 다음, 실행 중인 창에서 테스트합니다.

6단계는 4D 양식을 만들 때 실제 작업이 가장 많이 발생하는 부분입니다. 이벤트 메서드가 없는 양식은 정적 이미지에 불과합니다. On Load 양식 이벤트는 일반적으로 배열을 채우거나, 값 목록을 로드하거나, 현재 사용자의 역할에 따라 입력 가능 상태를 설정하는 곳입니다.

값 목록: 실수하기 쉬운 세부 사항

값 목록(Value Lists)은 4D 양식의 모든 드롭다운, 콤보 상자 및 팝업 메뉴의 기반이 되는 메커니즘입니다. 세 가지 유형이 있습니다:

  • 정적 목록 — 목록 편집기에 값을 한 번 입력합니다. 상태 코드와 같은 고정된 열거형에 이상적입니다.
  • 계층적 목록 — | 구분 기호 규칙을 사용하여 중첩된 요소를 지원하며, 카테고리 트리에 유용합니다.
  • 동적 목록 — 런타임에 필드, 배열 또는 수식에서 데이터를 가져옵니다. 이는 실시간 데이터를 반영하므로 활성 고객 목록 등이 재배포 없이 최신 상태로 유지됩니다.

흔한 함정: 라벨을 표시하면서 참조(ID)를 저장하는 필드에 동적 값 목록을 바인딩하는 것입니다. 4D는 “연관된 값(associated value)” 개념으로 이를 관리합니다. 즉, 목록은 하나의 값을 저장하고 다른 값을 표시합니다. 이를 정확히 설정하는 것이 “42”를 기록하는 드롭다운과 “Acme Corp.”를 기록하는 드롭다운의 차이를 만듭니다.

하위 양식 및 마스터-세부 레이아웃

하위 양식은 하나의 양식을 다른 양식에 통합합니다. 상위 양식이 하위 양식 개체를 호스팅하고, 그 내부에 자식 양식이 표시됩니다. 데이터는 하위 양식의 “table” 속성을 통해 흐르며, 최신 4D에서는 자식에게 전달된 Form 개체를 통해 흐릅니다.

마스터-세부(master-detail)는 4D 양식의 전형적인 사용 사례입니다. 상단에는 송장에 대한 세부 양식을 두고, 하단 하위 양식에는 송장 라인에 대한 목록 양식을 배치하는 식입니다. 상위 레코드가 변경되면 상위의 On Data Change에서 업데이트하거나 선택 항목을 다시 바인딩하여 하위 양식의 선택 내용을 업데이트할 수 있습니다. 또한 하위 양식을 통해 재사용 가능한 구성 요소를 만들 수 있습니다. 예를 들어 “고객 선택기” 양식을 필요한 모든 상위 양식에 배치할 수 있습니다.

동적 양식 및 런타임 UI

동적 4D 양식은 애플리케이션이 실행되는 동안 인터페이스를 수정합니다. 주요 명령은 DIALOG(양식을 모달 또는 비모달 대화 상자로 열기), FORM LOAD(양식을 표시하지 않고 메모리에 로드), FORM GOTO PAGE(페이지 변경), 그리고 개체 속성을 즉시 변경하는 OBJECT SET...입니다.

관련 항목: — 포털, 디렉토리 및 내부 도구를 목표로 하는 코드 없는 데이터베이스 빌더로, 사용자당 요금 대신 정액 요금이 적용됩니다..

동적 양식은 두 가지 시나리오에서 중요합니다. 첫째, 마법사 흐름(Wizard Flows): 사용자가 단계를 완료함에 따라 FORM GOTO PAGE로 진행되는 여러 페이지의 단일 양식입니다. 둘째, 역할 기반 인터페이스: 사용자 권한에 따라 On Load 시 개체를 숨기거나 비활성화하여, 하나의 양식이 관리자와 읽기 전용 뷰어 모두에게 적절하게 제공되도록 하는 것입니다. 단점은 복잡성입니다. 동적 동작은 정적 레이아웃보다 디버깅이 어렵기 때문에, 별도의 양식이 반드시 필요한 경우가 아니라면 신중하게 사용하십시오.

성능 고려 사항

4D 목록 양식의 성능은 4D가 구체화(materialize)해야 하는 레코드 수에 의해 결정됩니다. 엔터티 선택에 연결된 선택 기반 목록 상자는 표시되는 행만 로드하므로 테이블이 커져도 메모리 사용량이 일정하게 유지됩니다. 반면 클래식 배열 기반 목록 상자는 모든 데이터를 미리 로드하므로 대규모 테이블에서 속도가 눈에 띄게 느려집니다.

다른 두 가지 수단은 목록 상자의 지연 로딩(스크롤 시 행 검색)과 전체 테이블이 아닌 제한된 선택 영역만 반환하는 서버 측 쿼리입니다. 클라이언트-서버 배포의 경우 네트워크를 통해 레코드를 가져오는 왕복 비용이 렌더링 시간보다 훨씬 크므로, 선택 범위를 좁히는 것이 가장 효과적인 최적화 방법입니다.

우리의 선택: — 단일 파일의 데스크톱, 웹, 모바일용 맞춤형 앱이 필요한 팀을 위한 장기 실행 관계형 데이터베이스 플랫폼입니다..

결정하는 방법

  • 단일 레코드 데이터 입력? 세부 양식.
  • 여러 레코드 브라우징 또는 선택? 선택 기반 목록 상자가 포함된 목록 양식.
  • 인쇄 또는 PDF 출력? 출력 양식.
  • 여러 테이블에서 재사용 가능? 테이블 양식이 아닌 프로젝트 양식.
  • 다단계 프로세스? 동적으로 페이지가 전환되는 다중 페이지 양식.
  • 마스터-세부 관계? 목록 양식 하위 양식을 포함하는 세부 양식.
  • 고정된 선택 집합? 정적 값 목록. 실시간 데이터? 동적 값 목록.

이러한 옵션들을 통해 필요에 맞는 올바른 4D 양식을 선택할 수 있습니다.

학습 리소스

공식 4D 문서는 4D 양식, 개체, 이벤트 및 명령에 대한 권위 있는 참조 자료입니다. 정확한 속성 이름과 명령 시그니처를 확인하려면 여기에서 시작하십시오. 기본 데이터베이스 개념에 대한 배경 지식은 4D (software) 위키백과 문서에서 플랫폼의 유용한 역사를 확인할 수 있습니다. .4DForm 파일을 직접 편집하거나 버전 관리에서 비교할 계획이라면 JSON 형식 페이지를 읽어볼 가치가 있습니다. 양식 뒤의 테이블 구조를 설계하는 일반적인 관계형 디자인 원칙은 데이터베이스 정규화 개요를 참조하십시오.

자주 묻는 질문

4D 양식이란 무엇인가요?

4D 양식은 데이터 소스에 연결된 개체(입력 필드, 버튼, 목록 상자, 하위 양식)로 구성된 선언적 사용자 인터페이스 프레젠테이션입니다. 4D는 런타임에 양식의 속성을 평가하여 창, 대화 상자 또는 포함된 하위 양식으로 표시합니다. 양식은 세부, 목록, 출력의 세 가지 유형이 있습니다.

4D에서 세부 양식과 목록 양식의 차이점은 무엇인가요?

세부 양식은 한 번에 하나의 레코드를 표시하며 데이터 입력 및 편집에 사용됩니다. 목록 양식은 일반적으로 목록 상자를 통해 많은 레코드를 표시하며 브라우징 및 선택에 사용됩니다. 이 둘은 종종 결합되어 사용됩니다. 즉, 목록 양식으로 레코드를 선택한 후 세부 양식으로 이를 편집하는 방식입니다.

프로젝트 양식을 사용해야 하나요, 아니면 테이블 양식을 사용해야 하나요?

프로젝트 양식이 현대적인 기본 표준이며 별도의 “.4DForm” 파일로 저장되어 재사용과 버전 관리가 더 쉽습니다. 테이블 양식은 레거시 방식이며 단일 테이블에 연결되어 있습니다. 신규 개발에는 프로젝트 양식을 사용해야 하며, 테이블 양식은 기존 데이터베이스를 위해 계속 지원됩니다.

4D 양식에서 값 목록은 어떻게 작동하나요?

값 목록은 드롭다운 목록, 콤보 상자 및 팝업 메뉴를 채웁니다. 정적(한 번만 입력), 계층적(중첩 항목), 또는 동적(런타임에 필드, 배열 또는 수식으로 생성)일 수 있습니다. 값 목록은 하나의 값을 저장하면서 다른 값을 표시할 수 있으며, 이를 통해 ID를 저장하면서 고객의 이름을 표시할 수 있습니다.

런타임에 4D 양식을 변경할 수 있나요?

네. 동적 양식은 DIALOG, FORM LOAD, FORM GOTO PAGE와 같은 명령을 사용하여 애플리케이션 실행 중에 양식을 로드하고, 페이지를 전환하며, 개체 속성을 변경합니다. 이는 마법사 스타일의 흐름과 하나의 양식이 다양한 사용자에게 대응하는 역할 기반 인터페이스를 지원합니다.

대규모 테이블에서 4D 목록 양식이 느린 이유는 무엇입니까?

목록 양식의 속도 저하는 일반적으로 너무 많은 레코드를 구체화하는 데서 발생합니다. 엔터티 선택에 연결된 선택 기반 목록 상자는 표시되는 행만 로드하지만, 배열 기반 목록 상자는 모든 데이터를 로드합니다. 지연 로딩을 활성화하고 쿼리를 제한된 선택 영역으로 좁히는 것이 가장 효과적인 두 가지 해결책입니다.

자주 묻는 질문

4D 형태란 무엇입니까?

4D 양식은 데이터 소스에 연결된 개체(입력 필드, 버튼, 목록 상자, 하위 양식)로 구성된 선언적 사용자 인터페이스 프레젠테이션입니다. 4D는 런타임 시 양식의 속성을 평가하고 이를 창, 대화 상자 또는 포함된 하위 양식으로 표시합니다. 양식에는 세부사항, 목록, 출력의 세 가지 유형이 있습니다.

4D의 세부 양식과 목록 양식의 차이점은 무엇입니까?

세부 양식은 한 번에 하나의 레코드를 표시하며 데이터 입력 및 편집에 사용됩니다. 목록 양식은 일반적으로 목록 상자에 많은 레코드를 표시하며 탐색 및 선택에 사용됩니다. 이 둘은 종종 결합됩니다. 즉, 레코드를 선택하는 목록 양식과 이를 편집하는 세부 양식입니다.

프로젝트 양식을 사용해야 합니까, 아니면 테이블 양식을 사용해야 합니까?

프로젝트 양식은 기본적으로 최신 표준이며 별도의 '.4DForm' 파일로 저장되므로 버전 제어에서 재사용하고 관리하기가 더 쉽습니다. 테이블 양식은 레거시이며 단일 테이블에 연결되어 있습니다. 새로운 개발은 프로젝트 형식을 사용해야 합니다. 테이블 양식은 기존 데이터베이스에 대해 계속 지원됩니다.

4D 양식에서 값 목록은 어떻게 작동합니까?

값 목록은 드롭다운 목록, 콤보 상자 및 팝업 메뉴를 채웁니다. 정적(한 번만 입력), 계층적(중첩 항목) 또는 동적(런타임 시 필드, 배열 또는 수식에서 생성됨)일 수 있습니다. 값 목록은 하나의 값을 저장하는 동시에 다른 값을 표시할 수 있습니다. 이는 ID를 저장하는 동안 고객의 이름을 표시하는 방법입니다.

런타임 시 4D 양식을 변경할 수 있나요?

예. 동적 양식은 DIALOG, FORM LOAD 및 FORM GOTO PAGE와 같은 명령을 사용하여 애플리케이션이 실행되는 동안 양식을 로드하고, 페이지를 전환하고, 개체 속성을 변경합니다. 이는 하나의 양식이 다양한 사용자에게 서비스를 제공하는 마법사 스타일 흐름과 역할 기반 인터페이스를 지원합니다.

큰 테이블에서 4D 목록 양식이 느린 이유는 무엇입니까?

목록 형식의 속도 저하는 일반적으로 너무 많은 레코드를 구체화하는 데서 발생합니다. 엔터티 선택에 연결된 선택 기반 목록 상자는 표시된 행만 로드하는 반면, 배열 기반 목록 상자는 모든 것을 로드합니다. 지연 로드를 활성화하고 쿼리를 제한된 선택으로 좁히는 것이 가장 큰 영향을 미치는 두 가지 수정 사항입니다.


45일 동안 FileMaker를 무료로 사용해 보세요

단일 파일의 데스크톱, 웹, 모바일용 맞춤형 앱이 필요한 팀을 위한 장기 실행 관계형 데이터베이스 플랫폼입니다.