Array

배열은 μ—°μ†λœ μ†μ„±μœΌλ‘œ λ¦¬μŠ€νŠΈμ™€ μœ μ‚¬ν•œ 성격을 μ§€λ‹Œλ‹€.

ν•˜μ§€λ§Œ 배열은 λ¦¬μŠ€νŠΈμ™€ λ‹€λ₯΄κ²Œ λΆˆλ³€ (immutable) 속성이닀.

λ•Œλ¬Έμ— 객체λ₯Ό 볡사할 λ•Œ μ•ˆμ „μ„±μ„ 보μž₯ν•œλ‹€.

배열은 졜초의 길이λ₯Ό μ§€μ •ν•œ μ΄ν›„μ—λŠ” 크기 변경이 λΆˆκ°€λŠ₯ν•˜λ‹€

λ˜ν•œ 배열은 곡변 (covariant) νƒ€μž…μœΌλ‘œ μ œλ„€λ¦­μ—μ„œλŠ” λ°°μ—΄νƒ€μž…μ˜ μ‚¬μš©μ΄ λΆˆκ°€λŠ₯ ν•˜λ‹€.

λ°°μ—΄μ˜ μ„ μ–Έ

λ°°μ—΄μ˜ 선언은 μ—¬λŸ¬κ°€μ§€ 방법이 μžˆλ‹€.

μ•„λž˜ 방법듀이 λ‹€ λ™μΌν•œ λ°°μ—΄μ˜ μ„ μ–Έ 방법이닀.

String[] str = new String[](16);
String str[] = new String[](16);
String str[] = new String[]{"A", "B", "C"};

λ°°μ—΄μ˜ 볡사

System.arraycopy λ₯Ό μ΄μš©ν•œ 볡사

String[] org_ary = new String[]{"A", "B", "C"};

String[] clone_ary = new String[](org_ary.length);

System.arraycopy(org_ary, 0, clone_ary, 0, org_ary.length);

Arrays.stream(clone_ary)
  .forEach(System.out::print);
ABC

clone() 을 μ΄μš©ν•œ 볡사

String[] org_ary = new String[]{"A", "B", "C"};

String[] clone_ary = org_ary.clone();

Arrays.stream(clone_ary)
  .forEach(System.out::print);
ABC