반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
Tags
- CMD
- 인텔리제이
- Visual Studio Code
- Eclipse
- 배열
- Java
- 이탈리아
- html
- windows
- Button
- CSS
- 문자열
- vscode
- input
- javascript
- 자바
- 자바스크립트
- 정규식
- Array
- 테이블
- table
- json
- IntelliJ
- js
- date
- ArrayList
- 이클립스
- list
- Maven
- string
Archives
- Today
- Total
어제 오늘 내일
[Java 기초] Arrays.copyOf()로 배열 복사하기 본문
자바에서 배열을 다루다 보면, 기존 배열의 크기를 늘리거나 일부만 복사해야 할 때가 있습니다.
이때 유용하게 사용할 수 있는 메서드가 바로 Arrays.copyOf()
입니다.
이번 글에서는 Arrays.copyOf()
의 기본 사용법부터 실무에서 자주 쓰이는 활용 예제까지 정리해보겠습니다.
1. Arrays.copyOf()란?
Arrays.copyOf()
는 기존 배열을 복사하여 새로운 배열을 생성하는 메서드입니다.- 배열 크기를 늘리거나 줄이는 것도 가능합니다.
- 반환값은 새로운 배열 객체입니다. (원본은 변경되지 않음)
2. 기본 사용법
import java.util.Arrays;
public class CopyOfExample1 {
public static void main(String[] args) {
int[] original = {1, 2, 3};
int[] copy = Arrays.copyOf(original, original.length);
System.out.println("원본: " + Arrays.toString(original));
System.out.println("복사본: " + Arrays.toString(copy));
}
}
실행 결과
원본: [1, 2, 3]
복사본: [1, 2, 3]
👉 같은 길이로 복사하면 원본과 동일한 배열이 생성됩니다.
3. 크기를 늘려서 복사
배열 크기를 늘리면 나머지는 기본값으로 채워집니다.
import java.util.Arrays;
public class CopyOfExample2 {
public static void main(String[] args) {
int[] original = {1, 2, 3};
int[] extended = Arrays.copyOf(original, 5);
System.out.println(Arrays.toString(extended));
}
}
실행 결과
[1, 2, 3, 0, 0]
👉 기본형 배열은 0
, 객체 배열은 null
이 들어갑니다.
4. 크기를 줄여서 복사
길이를 줄이면 앞에서부터 원하는 길이만큼만 복사됩니다.
import java.util.Arrays;
public class CopyOfExample3 {
public static void main(String[] args) {
int[] original = {1, 2, 3, 4, 5};
int[] smaller = Arrays.copyOf(original, 3);
System.out.println(Arrays.toString(smaller));
}
}
실행 결과
[1, 2, 3]
👉 copyOf
는 항상 앞에서부터 복사한다는 점을 기억하세요.
5. 문자열 배열 복사
import java.util.Arrays;
public class CopyOfExample4 {
public static void main(String[] args) {
String[] fruits = {"Apple", "Banana", "Cherry"};
String[] copied = Arrays.copyOf(fruits, 5);
System.out.println(Arrays.toString(copied));
}
}
실행 결과
[Apple, Banana, Cherry, null, null]
👉 문자열 배열은 크기를 늘리면 null
로 채워집니다.
6. 실무 활용 예시 – 배열 크기 동적 변경
배열은 크기가 고정되어 있어서 새로운 데이터를 추가할 수 없습니다.
이럴 때 Arrays.copyOf()
를 사용하면 배열 확장이 가능합니다.
import java.util.Arrays;
public class CopyOfExample5 {
public static void main(String[] args) {
int[] numbers = {1, 2, 3};
// 크기를 늘리고 새 값 추가
numbers = Arrays.copyOf(numbers, numbers.length + 1);
numbers[numbers.length - 1] = 4;
System.out.println(Arrays.toString(numbers));
}
}
실행 결과
[1, 2, 3, 4]
👉 ArrayList
같은 컬렉션을 쓰면 더 편리하지만, 배열을 계속 써야 할 때는 이런 방식이 유용합니다.
7. 정리
Arrays.copyOf(배열, 새 길이)
→ 새로운 배열 생성- 길이가 크면 기본값(
0
,null
)으로 채움 - 길이가 작으면 앞에서부터 잘라서 복사
- 배열 확장이나 축소가 필요할 때 많이 활용
배열 크기를 조절하거나 안전하게 복사할 때는 Arrays.copyOf()
가 정석!
반응형
'IT > Java' 카테고리의 다른 글
[Java 기초] Arrays.copyOfRange()로 배열 구간 복사하기 (1) | 2025.08.28 |
---|---|
[Java 기초] Arrays.equals()로 배열 비교하기 (1) | 2025.08.28 |
[Java 기초] Arrays.sort() vs Collections.sort() 차이 정리 (0) | 2025.08.27 |
[Java StringBuffer] reverse() – 문자열 뒤집기 (1) | 2025.08.26 |
[Java 기초] Arrays.sort()로 배열 정렬하기 (2) | 2025.08.26 |
Comments