동적 배열은 저장 전에 필요한 용량을 확보한다

가득 찬 순간 새 배열을 만들고 사용 구간만 복사한 뒤 저장을 계속합니다.

  1. 1

    요구 용량

    required=size+1

  2. 2

    성장 판단

    required > capacity

  3. 3

    새 용량

    max(2×old, required)

  4. 4

    사용 구간 복사

    0..size-1

  5. 5

    새 값 저장

    size 증가

핵심: values.length는 항상 size 이상이고 확장은 삽입 계약의 정상 단계입니다.