게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
자바 깊은 복사와 얕은 복사에 대해 궁금합니다.
게시물ID : programmer_14074짧은주소 복사하기
작성자 : 처음같은마음
추천 : 0
조회수 : 825회
댓글수 : 4개
등록시간 : 2015/10/24 23:57:31
옵션
  • 본인삭제금지
자바를 다시 보고 있는데요,

기본형은 깊은 복사가 되고, 참조형은 얕은 복사가 된다. 라고 알고 있습니다.

그래서 int, float 등으로 

public static void main(String[] args)
{
int a = 10;
func(a);
System.out.println(a);
}

public static void func(int n)
{
n = 100;
}

테스트를 진행해보면 a의 값은 변함없이 10이 되는 걸 알 수 있었습니다.

그러면 String 은 참조형인 것 같아서 위와 같이 테스트하면 얕은 복사가 일어가 값이 변경되어야 한다고 생각되는데 깊은 복사가 일어나는 것 같습니다.
또 래퍼 클래스(Integer..)등도 참조형인 것 같아서 테스트 해보면 깊은 복사가 일어납니다.

참조형이 깊은 복사인가 싶어서 클래스를 하나 만들어 테스트 해보니 얕은 복사가 일어납니다.

제가 어느 부분에서 잘못된 오류를 가지고 있는지 궁금합니다. 부탁드립니다.

전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호