배열 (Array)
이 페이지는 바이브 코딩 문맥에서 자주 쓰이는 배열 (Array)의 뜻과 쓰임을 입문 난이도 기준으로 정리한 AI 용어사전 항목입니다. 정의와 맥락, 관련 용어 5개 순서로 묶었으니, 아래 설명을 먼저 읽고 연결된 개념과 글까지 이어서 보면 이해가 빨라집니다.
배열(Array)은 여러 값을 순서가 있는 하나의 묶음으로 다루고 위치 번호로 각 요소에 접근하는 자료 구조입니다. 목록 형태의 데이터와 반복 처리를 표현하는 데 자주 쓰입니다. 요소의 자료형과 크기 변경 가능 여부는 언어나 구현에 따라 다르며, JavaScript의 Array와 JSON의 배열도 각각의 규칙을 확인합니다.
순서와 인덱스로 접근하는 값
MDN의 JavaScript Array 설명은 여러 항목을 한 변수 아래 보관하고 공통 배열 연산을 제공하는 객체로 소개합니다. JavaScript 배열의 첫 요소 인덱스는 0입니다. 요소가 세 개라면 인덱스는 0, 1, 2이므로 요소 개수와 마지막 위치 번호를 같은 값으로 처리하면 범위를 벗어난 접근이 생깁니다.
인덱스는 배열 안의 위치이고 요소의 고유 식별자는 아닙니다. 목록 앞에 새 항목을 넣거나 순서를 바꾸면 같은 인덱스가 다른 항목을 가리킬 수 있습니다. 화면에서 선택한 문서를 나중에 수정하려면 위치 번호만 저장할지, 문서 ID를 따로 저장할지 구분합니다. 정렬과 필터링이 반복되는 목록에서는 이 차이가 잘못된 대상을 수정하는 원인이 될 수 있습니다.
JavaScript의 일반 배열은 크기를 바꿀 수 있고 서로 다른 자료형의 값을 담을 수 있습니다. 이 특성을 모든 언어의 배열에 그대로 적용하지는 않습니다. 길이나 요소 자료형을 고정하는 배열도 있으며, 메모리에 저장하는 방식도 구현에 따라 다릅니다. 어떤 배열을 쓰는지 알아야 요소 추가와 복사, 연산 비용에 관해 올바른 기대를 할 수 있습니다.
배열과 목록 표현의 구분
Python의 자료 구조 튜토리얼은 여러 값을 순서대로 다루는 기본 자료 구조로 리스트를 설명합니다. 리스트는 항목을 추가하거나 제거하고 정렬할 수 있습니다. 배열과 비슷한 용도로 쓰지만 Python의 모든 순서 자료 구조를 같은 종류라고 부르지는 않습니다. 튜플처럼 변경 규칙이 다른 구조도 있으므로 실제 자료형의 기능을 확인합니다.
JSON 명세 RFC 8259는 배열을 값의 순서 있는 나열로 정의합니다. 대괄호 안에 요소를 두고 쉼표로 구분하며, 요소가 모두 같은 자료형일 필요는 없습니다. 반면 API가 특정 객체만 담긴 배열을 요구할 수 있으므로 JSON 문법상 허용되는 형태와 그 API의 입력 규격은 별개입니다.
객체와 배열은 데이터를 찾는 기준도 다릅니다. 객체는 이름이 붙은 속성을 사용하고 배열은 순서가 있는 항목을 다루는 데 적합합니다. API 응답에서 검색 결과 목록과 페이지 번호를 함께 보내면 목록은 배열, 페이지 정보는 별도 필드로 표현할 수 있습니다. 문자열 안에 쉼표를 넣어 목록처럼 저장하면 구분자가 데이터에 포함됐을 때 해석이 복잡해질 수 있습니다.
수정과 복사에서 생기는 차이
배열을 처리하는 메서드가 원본을 바꾸는지 새 배열을 반환하는지 확인합니다. 정렬한 결과를 얻으려던 코드가 원본의 순서까지 바꾸면 다른 부분에서 사용하던 목록도 달라질 수 있습니다. Python의 리스트 sort()처럼 제자리에서 수정하는 동작과 새 결과를 만드는 동작은 구분됩니다. 함수 이름만 읽지 않고 반환값과 원본의 변화를 함께 살핍니다.
JavaScript 배열의 일반적인 복사 연산은 얕은 복사를 만듭니다. 배열 안에 객체가 있으면 바깥 배열을 새로 만들어도 같은 내부 객체를 참조할 수 있습니다. 복사본의 객체 속성을 수정했는데 원본 쪽에서도 바뀌어 보이는 이유입니다. 배열 복사와 모든 중첩 데이터의 독립적인 복사를 같은 작업으로 처리하지 않습니다.
입력 검증에서는 배열인지 확인한 뒤 요소의 개수와 자료형, 필요한 필드도 확인합니다. 빈 배열은 오류가 아니라 검색 결과가 없다는 정상 상태일 수 있고, 항목이 있다는 이유만으로 모든 값이 유효한 것도 아닙니다. AI의 구조화된 출력에서 배열을 받았다면 각 항목의 실제 의미와 중복, 참조 대상도 대조합니다. 순서가 결과의 의미에 영향을 주는 경우에는 그 순서를 보존했는지도 기록합니다.
관련 용어
배열 (Array)와 함께 자주 언급되는 개념들입니다. 비슷한 말처럼 보여도 역할과 쓰임은 다를 수 있습니다.
