2021-01-20 전 글에서 얇은 복제는 단순한 필드 값을 복사할 때만 사용하는 것이 좋으며, 그 이유는 참조 타입을 얇은 복제 시 같은 참조 번지도 같이 복사되기 때문에 복사된 클래스를 변경하면 원본 객체도 변경되게 된다고 했다. 오늘은 이제 이를 해결하는 방법인 DeepClone를 알아보도록 하자. 얇은 복제가 궁금하면 아래 글을 확인하자. seeminglyjs.tistory.com/232 아래는 참조할 클래스 Student이며 필드로는 학년이 들어갈 grade만 있다. package dDeepClone; public class Student { int grade; public Student(int grade) { this.grade = grade; // 학생의 학년을 초기화 해줌 } } 다음은 D..
2021-01-19 기존에 변수나 배열과 같은 경우에는 새로운 객체를 만들어서 복사를 진행하면 된다. 그러면 클래스를 복사해서 사용하고자 하면 어떻게 해야 할까? ctrl + c -> ctrl + v를 사용해서 새로운 클래스를 만들어 사용하면 될까?라고 생각할 수 도 있지만 자바 자체에서 이와 같은 고민을 해결해주기 위해 Cloneable이라는 인터페이스를 제공한다. 즉 복사를 하고자 하는 클래스에 implements Cloneable를 붙여주면 이와 같은 클래스를 사용할 수 있다. 바로 코드를 살펴보자. package tThinClone.copy; import java.util.Arrays; public class People implements Cloneable { String name; int ag..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.