본문 바로가기
  • 노션에서 삽질한 내용을 정리하는 블로그
자기발전소/# JAVA

[JAVA] 배열 개념 정리: 배열 복사 arraycopy

by iamlucia 2021. 8. 1.

1. 기본 자료형 배열의 복사 

System.arraycopy(복사할 소스 배열, 복사할 첫 위치, 복사 대상 배열, 붙여넣을 첫 위치, 복사할 요소 갯수(length))

 

그런데, 

위와 같이 복사할 요소 갯수가 복사 대상 배열의 크기보다 넘어가는 경우, 

에러가 발생한다. 

 

2. 객체 배열의 복사 

 

2-1) 얕은 복사

 

객체 배열을 복사해본다. 

그런데, 복사 원본 객체 배열의 값을 바꾸었더니, 

해당 원본을 복사한 shelf2 배열의 값도 따라 바뀌었다.

 

이는 값이 복사된 것이 아니고 "주소"가 복사된 얕은 복사였기 때문이다. 

즉, shelf1[0] 과 shelf2[0]이 같은 값을 가리키고 있다.

 

 

2-2) 깊은 복사

 

각 객체 배열이 서로 다른 인스턴스의 메모리를 요소로 가지게 하는

깊은 복사는 다음과 같이 getter setter를 활용한다.  

'자기발전소 > # JAVA' 카테고리의 다른 글

Spring Boot 실습 3: Repository Test  (0) 2020.11.06
Spring Boot 실습 2: Repository  (0) 2020.11.06
Spring Boot 실습 1: 비즈니스 로직  (0) 2020.11.05
Spring 웹 개발 기초  (0) 2020.11.05
Spring Boot 공부 기록 2  (0) 2020.11.05