'Java' 태그의 글 목록 — SH's Devlog

Java

Android/Kotlin(Java)

[Kotlin/Java] System.arraycopy로 배열 복사하기

이번에는 System.arraycopy에 대해 정리하겠습니다. System.arraycopy란? System.arraycopy는 메소드는 배열의 값들을 지정한 위치에서 갯수만큼 값을 복사할 수 있습니다. System.arraycopy 메소드 public static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int length); Object src -> 복사하려는 배열 int srcPos -> 복사하려는 시작 인덱스 Object dest -> 복사받으려는 배열 (붙여넣으려는) int destPos -> 복사받으려는 시작 인덱스 (붙여넣으려는) int length -> 복사하려는 갯수 만약, srcPos + leng..

Android/Kotlin(Java)

[Kotlin/Java] 얕은복사 vs 깊은복사, Collection의 방어적 복사

[이 글은 NextStep Kotlin TDD, Refactoring, Clean Code 수업 중 공부한 것을 복습하고자 정리한 글입니다.] 얕은 복사란? 주소값 자체를 복사하는 것이다. 복사된 객체의 인스턴스는 원본 객체의 인스턴스와 같은 메모리주소를 참조합니다. -> 따라서, 같은 메모리 주소값을 참조하기 때문에 복사된 객체의 값이 변경되면 원본 객체의 값도 변경됩니다. 깊은 복사란? 새로운 메모리 공간에 객체의 모든 값을 복사하는 것이다. 원본 객체는 그대로 두고, 새로운 메모리공간에 원본 객체의 값들을 모두 복사합니다. -> 따라서, 다른 메모리 주소값을 참조하기 때문에 복사된 객체가 변경되어도 원본 객체는 영향을 받지 않습니다. 얕은복사의 문제점 자바(코틀린)에서는 기본적으로 '='를 사용하여..

반응형
seunghwaan
'Java' 태그의 글 목록