자료형
데이터의 성격과 모양을 정하는 기준
핵심 아이디어
자료형은 값이 글자인지, 숫자인지, 예/아니오인지, 목록인지처럼 데이터의 성격과 모양을 정하는 기준입니다. 앱을 설계할 때 자료형을 정한다는 것은 “이 칸에는 어떤 종류의 값을 넣을 것인가?”를 미리 정하는 일입니다.
예를 들어 학생 과제 제출 앱을 만든다면 학생 이름은 글자, 번호는 숫자, 제출 여부는 예/아니오, 학생 목록은 여러 학생을 담은 목록으로 생각할 수 있습니다.
쉽게 말하면
자료형은 신청서의 “칸 성격”과 비슷합니다.
- 이름 칸에는 글자를 씁니다.
- 인원 수 칸에는 숫자를 씁니다.
- 동의 여부 칸에는 예/아니오를 표시합니다.
- 참석자 명단 칸에는 여러 사람의 목록을 적습니다.
앱도 마찬가지입니다. 어떤 칸에 어떤 성격의 자료가 들어가는지 정해 두면, AI에게 요청할 때도 훨씬 분명해집니다.
자주 쓰는 자료형
처음에는 아래 정도만 구분해도 충분합니다.
| 쉬운 말 | 실제 IT 용어 | 예시 |
|---|---|---|
| 글자 | string, 문자열 | "김민수", "수행평가 1" |
| 숫자 | number, integer | 1, 25, 87.5 |
| 예/아니오 | boolean, 불리언 | true, false |
| 날짜 | date, datetime | 2026-05-02 |
| 목록 | array, list | 학생 이름 여러 개 |
| 묶음 | object, record | 학생 한 명의 이름, 반, 번호를 묶은 것 |
여기서 중요한 것은 영어 이름을 모두 외우는 것이 아닙니다. “이 값은 글자인가, 숫자인가, 예/아니오인가, 여러 개인가?”를 구분하는 눈을 갖는 것입니다.
특히 불리언(boolean)은 처음 보면 어려운 말처럼 보이지만, 뜻은 단순합니다. 예/아니오, 켜짐/꺼짐, 했음/안 했음처럼 둘 중 하나만 고르는 값입니다.
예를 들어 학생 제출 확인 앱에서는 제출 여부를 불리언으로 다룰 수 있습니다.
submitted: true → 제출함
submitted: false → 제출하지 않음
화면에는 “제출함”, “미제출”처럼 보여 주더라도, 프로그램 안에서는 true와 false로 저장하면 조건 판단이 쉬워집니다.
예시
학생 과제 제출 현황 앱에서는 자료형을 이렇게 적을 수 있습니다.
학생 정보
- 이름: 글자
- 반: 글자 또는 숫자
- 번호: 숫자
제출 정보
- 학생 이름: 글자
- 과제 이름: 글자
- 제출 여부: 예/아니오
- 제출 날짜: 날짜
조금 더 개발 문서처럼 쓰면 이렇게 됩니다.
student
- name: string
- className: string
- number: number
submission
- studentName: string
- assignmentName: string
- submitted: boolean
- submittedAt: date
처음부터 영문 이름을 완벽하게 정할 필요는 없습니다. 다만 “제출 여부는 글자가 아니라 예/아니오 값이다”처럼 자료의 성격을 정해 두는 것이 중요합니다.
설계할 때 왜 중요한가
자료형을 정하지 않으면 AI가 제멋대로 판단할 수 있습니다.
예를 들어 제출 여부를 정하지 않고 “제출 정보를 저장해 줘”라고만 말하면, AI는 다음 중 아무 방식이나 고를 수 있습니다.
"제출","미제출"같은 글자로 저장하기true,false같은 예/아니오 값으로 저장하기0,1같은 숫자로 저장하기
작은 앱에서는 모두 가능해 보이지만, 나중에 미제출 학생을 찾거나 제출률을 계산할 때 방식이 섞이면 헷갈립니다. 그래서 작업 계획 문서에 자료형을 적어 두면 로직도 더 안정적으로 정리됩니다.
헷갈리기 쉬운 점
자료형은 “자료의 내용”이 아니라 “자료의 모양”입니다
"김민수"라는 값의 내용은 학생 이름입니다. 하지만 자료형은 글자입니다. "2반"도 내용은 반 정보지만, 자료형은 글자입니다.
숫자처럼 보여도 글자일 수 있습니다
전화번호, 학번, 우편번호처럼 계산하지 않는 값은 숫자처럼 보여도 글자로 다루는 편이 안전할 때가 많습니다. 예를 들어 01012345678은 더하거나 곱할 숫자가 아니라 그대로 보존해야 하는 글자에 가깝습니다.
예/아니오는 글자보다 불리언이 편할 때가 많습니다
"예", "아니오"라고 저장할 수도 있지만, 프로그램 안에서는 true, false처럼 다루면 조건 판단이 쉬워집니다. 이것이 불리언입니다.
예를 들어 “미제출 학생만 보여 주기” 로직은 아래처럼 생각할 수 있습니다.
제출 여부가 false인 학생만 모은다.
다만 화면에는 다시 “제출함”, “미제출”처럼 사람이 읽기 좋은 말로 보여 주면 됩니다.
목록과 묶음은 다릅니다
학생 한 명의 정보는 이름, 반, 번호를 묶은 객체에 가깝습니다. 학생 여러 명은 그런 객체들이 여러 개 모인 배열에 가깝습니다.
작업 계획 문서에 쓰는 방법
바이브 코딩에서는 자료형을 너무 어렵게 쓰지 않아도 됩니다. 처음에는 아래 형식이면 충분합니다.
[자료 형태]
학생 정보:
- 이름: 글자
- 반: 글자
- 번호: 숫자
제출 정보:
- 학생 이름: 글자
- 과제 이름: 글자
- 제출 여부: 예/아니오
- 제출 날짜: 날짜, 선택 사항
AI에게 요청할 때는 이렇게 말할 수 있습니다.
학생 정보는 이름(글자), 반(글자), 번호(숫자)로 정리하고, 제출 정보는 학생 이름(글자), 과제 이름(글자), 제출 여부(예/아니오), 제출 날짜(날짜, 선택 사항)로 정리해 주세요.
이렇게 쓰면 AI는 어떤 데이터를 저장하고, 어떤 입력을 받아야 하며, 어떤 출력을 만들어야 하는지 더 정확히 이해할 수 있습니다.
실제 IT 용어와의 연결
- IT 전공에서는 data type, type, schema, field type 같은 말과 연결됩니다.
- JavaScript나 Python 같은 언어에서는 값마다 문자열, 숫자, 불리언, 배열, 객체 같은 자료형이 있습니다.
- 데이터베이스에서는 각 칸의 자료형을 정해 두어야 합니다. 예를 들어 이름은 text, 번호는 integer, 제출 여부는 boolean처럼 정합니다.
- TypeScript 같은 언어에서는 자료형을 더 엄격하게 적어 코드가 잘못된 값을 받지 않도록 도와줍니다.
이 블로그에서의 역할
바이브 시리즈에서는 자료형을 “코딩 문법”보다 먼저 다룹니다. 이유는 간단합니다. 앱이 다룰 자료의 모양을 알아야 기능, 화면, 저장 방식, AI 프롬프트가 흔들리지 않기 때문입니다.
작업 계획 문서에서는 각 기능 옆에 입력, 로직, 출력과 함께 자료형을 적어 둡니다. 그러면 나중에 AI에게 코드를 부탁할 때도 “학생 이름은 글자이고, 제출 여부는 예/아니오다”처럼 기준을 분명히 줄 수 있습니다.