Java - 문제 미리보기
문제 2441
medium
다음 코드의 실행 결과는?
```java
import java.util.Arrays;
int[] arr1 = {1, 2, 3};
int[] arr2 = {1, 2, 3};
int[] arr3 = arr1;
System.out.println(Arrays.equals(arr1, arr2)); // A
System.out.println(Arrays.equals(arr1, arr3)); // B
System.out.println(arr1 == arr2); // C
```
```java
import java.util.Arrays;
int[] arr1 = {1, 2, 3};
int[] arr2 = {1, 2, 3};
int[] arr3 = arr1;
System.out.println(Arrays.equals(arr1, arr2)); // A
System.out.println(Arrays.equals(arr1, arr3)); // B
System.out.println(arr1 == arr2); // C
```
정답: B
각 비교 방법의 차이점을 이해해보겠습니다:
A. `Arrays.equals(arr1, arr2)` = `true`
⦁ 배열의 내용을 비교합니다
⦁ 같은 위치에 같은 값들이 있으므로 `true`
B. `Arrays.equals(arr1, arr3)` = `true`
⦁ arr3는 arr1을 참조하므로 같은 배열입니다
⦁ 당연히 내용이 같으므로 `true`
C. `arr1 == arr2` = `false`
⦁ 참조(주소)를 비교합니다
⦁ arr1과 arr2는 서로 다른 배열 객체이므로 `false`
핵심 개념:
⦁ `Arrays.equals()`: 배열 내용 비교
⦁ `==` 연산자: 배열 참조 비교
💡 학습 팁
이 문제를 포함한 Java 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.