0Pricing
Java Academy · 강의

Arrays.fill과 copyOf

배열을 채우고 크기를 조정합니다

Arrays.fill과 copyOf은(는) CoddyKit의 무료 Java Academy 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Java Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Java Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

배열 채우기

Arrays.fill은 배열의 모든 요소를 같은 값으로 설정합니다. 배열을 제자리에서 수정하며 데이터를 초기화하거나 재설정할 때 유용합니다.

기본 채우기

배열 전체를 하나의 값으로 채우십시오.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] nums = new int[5];
        Arrays.fill(nums, 7);
        System.out.println(Arrays.toString(nums));
    }
}

범위 채우기

Arrays.fill(array, from, to, value)는 배열의 일부만 채웁니다. 범위에는 from이 포함되고 to는 포함되지 않습니다.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] nums = new int[6];
        Arrays.fill(nums, 2, 5, 9);
        System.out.println(Arrays.toString(nums));
    }
}

객체 배열 채우기

fill은 객체 배열에서도 작동합니다. 객체로 채우면 모든 위치가 같은 참조를 가리킨다는 점에 유의하십시오.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        String[] grid = new String[4];
        Arrays.fill(grid, "empty");
        System.out.println(Arrays.toString(grid));
    }
}

copyOf로 크기 조정하기

배열의 길이는 고정되어 있습니다. 더 크거나 작은 배열을 얻으려면 Arrays.copyOf(array, newLength)가 요청한 크기의 새 배열을 반환합니다.

배열 확장하기

새 길이가 더 크면 추가 위치에는 기본값이 들어갑니다. 숫자 유형에는 0, boolean에는 false, 객체에는 null이 사용됩니다.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] nums = {1, 2, 3};
        int[] bigger = Arrays.copyOf(nums, 5);
        System.out.println(Arrays.toString(bigger));
    }
}

배열 축소

새 길이가 더 작으면 배열이 잘려 나가고 뒤쪽 요소가 삭제됩니다.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] nums = {1, 2, 3, 4, 5};
        int[] smaller = Arrays.copyOf(nums, 3);
        System.out.println(Arrays.toString(smaller));
    }
}

범위 복사

Arrays.copyOfRange(array, from, to)는 일부 구간을 새 배열로 복사합니다. 여기서도 from은 포함되고 to는 포함되지 않습니다.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] nums = {10, 20, 30, 40, 50};
        int[] middle = Arrays.copyOfRange(nums, 1, 4);
        System.out.println(Arrays.toString(middle));
    }
}

copyOf는 변경하지 않음

fill과 달리 copyOf는 원본 배열을 그대로 두고 완전히 새로운 배열을 반환합니다. 원본과 복사본은 서로 독립적입니다.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] original = {1, 2, 3};
        int[] copy = Arrays.copyOf(original, 3);
        copy[0] = 99;
        System.out.println("Original: " + Arrays.toString(original));
        System.out.println("Copy:     " + Arrays.toString(copy));
    }
}

수동으로 크기를 조정하는 관용적 방식

ArrayList가 사용되기 전에는 더 큰 배열에 복사하는 방식으로 배열을 확장했습니다. copyOf를 호출 한 번으로 용량을 두 배로 늘릴 수 있습니다.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] data = {1, 2, 3, 4};
        data = Arrays.copyOf(data, data.length * 2);
        data[4] = 5;
        System.out.println(Arrays.toString(data));
    }
}

fill과 copyOf 비교

차이점을 기억해 두십시오. fill은 기존 슬롯을 제자리에서 덮어쓰고 아무것도 반환하지 않으며, copyOf는 크기가 조정된 복사본을 만들고 이를 반환합니다. 새 길이가 필요한지에 따라 선택하십시오.

빠른 확인

fill과 copyOf에 대한 이해도를 확인해 보십시오.

복습

배열을 채우고 크기를 조정하는 방법을 배웠습니다.

  • Arrays.fill은 모든 요소 또는 지정한 범위의 요소를 하나의 값으로 제자리에서 설정합니다.
  • Arrays.copyOf는 지정한 길이의 새 배열을 반환하며, 부족한 부분은 채우고 초과한 부분은 잘라 냅니다.
  • Arrays.copyOfRange는 일부 구간을 복사합니다.
  • copyOf는 원본을 변경하지 않지만 fill은 원본을 변경합니다.

자주 묻는 질문

“Arrays.fill과 copyOf” 강의는 무료인가요?

네 — “Arrays.fill과 copyOf” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Java Academy 강의 전체를 잠금 해제할 수 있습니다. Java Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“Arrays.fill과 copyOf”에서 뭘 배우나요?

배열을 채우고 크기를 조정합니다 브라우저에서 직접 실행하는 실습 코드로 Java Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Java Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Java Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.

“Arrays.fill과 copyOf” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Java Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Java Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. Arrays.sort와 정렬
  2. Arrays.binarySearch
  3. Arrays.fill과 copyOf
  4. Arrays.equals와 toString
← Java Academy(으)로 돌아가기