자바에서 객체를 복사할때, 얕은 복사와 깊은 복사 2가지 방법이 있다.
class Book {
private String name;
private Author author;
public Book shallowCopy() { // 얕은 복사
return new Book(this.name, this.author);
}
public Book deepCopy(){ // 깊은 복사
Author copiedAuthor = new Author(this.author.getName());
return new Book(this.name, copiedAuthor);
}
}
class Author {
private String name;
}
얕은 복사는 객체의 주소를 복사 > 복사된 author.name을 변경하면 원본 book의 저자이름도 바뀜(같은 곳을 바라보니까)
깊은 복사를 값 자체를 복사
'cs(with 매일메일)' 카테고리의 다른 글
| [250922월] 일급 컬렉션(패턴)이 무엇인가요? (0) | 2025.09.29 |
|---|---|
| [250923화] 데이터베이스 인덱스에 대해서 설명해주세요. (0) | 2025.09.29 |
| [250924수] 트랜잭션 격리수준은 무엇인가요? (0) | 2025.09.29 |
| [250926금] 로그와 메트릭을 설명해주세요. (0) | 2025.09.29 |
| [250929월] JPA에서 ID생성 전략에 대해 설명해주세요. (0) | 2025.09.29 |