깊은복사

· JAVA
스프링부트에서 로그인기능을 만드는 과정에 유저 객체를 생성하고 아무생각 없이 해당 객체를 복사하여 정보를 수정 하였더니 원래의 정보까지 변경되어 버리는 참사가 일어났다.. User user = new User(); User persistenceUser = user; 위의 코드에서 user와 persistenceUser 인스턴스는 같은 주소를 가리킨다. 때문에 둘 중 하나의 참조 변수를 수정하더라도 두 변수 모두 변경이 일어나게 된다. 해당 문제가 발생하는 이유는 user 변수가 참조 타입 변수이기 때문이다. User 의 인스턴스를 생성하고 인스턴스의 주소를 user 변수가 참조하고 있는 것이다. 즉, 값!이 아닌 주소 값!을 가지고 있다는 것. 그렇다면 user의 값을 복사한 persistenceUser..
hyunsb
'깊은복사' 태그의 글 목록