반응형
포스팅 쓰기 앞서, 이 복사에 대한 개념은 현재 탭인 자바 뿐 아니라 다른 언어에서도 비슷하게 적용이 된다.
그냥 모르고 사용을 하면 위험하니 개념을 알려주기 위해 포스팅을 작성이고 java 탭에 작성한 이유는 테스트 코드가 자바 언어로 했기 때문이다.
배열이 있고 그 배열을 복사해야하는 때가 있다.
그럴때 그냥 변수 복사하듯이 복사를 하게 되면 아래와 같은 상황이 발생한다.
int[] a = {1,2,3,4}; int[] b = a; |
이렇게 코드를 짜면 이 그림처럼 작동을 한다.
두개의 변수가 같은 배열을 바라보고 A 가 변경되면 B에서도 변경된 값이 나온다.
사실 이러면 복사의 의미가 없다.
그래서 배열을 복사할때는 깊은 복사를 해줘야하고 깊은 복사는 다음 그림과 같다.
이렇게 하기 위한 코드는 다음과 같다.
int [] a ={1,2,3,4}; int [] b = new int[a.length]; for (int i=0; i<a.length; i++){ b[i]=a[i]; } |
이렇게 변수 하나씩 삽입을 시켜줘야한다.
반응형
'IT > Java' 카테고리의 다른 글
자바 문자열 비교 compareTO (26) | 2022.07.31 |
---|---|
Map, Set, List 에 대해서 (40) | 2022.07.30 |
@Autowired 대신 @RequiredArgsConstructor (48) | 2022.07.26 |
substring , indexOf (lastIndexOf), charAt 을 이용한 문자열 추출 (42) | 2022.07.24 |
JPA에서의 어노테이션 (44) | 2022.07.22 |
댓글