불변객체1 [JPA] 값타입과 불변 객체 1. 값 타입 공유 참조와 불변객체 값 타입은 복잡한 객체 세상을 조금이라도 단순화하려고 만든 개념입니다. 따라서 값 타입은 단순하고 안전하게 다룰 수 있어합니다. 개발할 때는 값을 복사하는 것에 대해서 신경을 잘 쓰지 않습니다. 왜냐하면 자바세상에서 단순하고 안전하게 설계가 되있기 때문입니다. 임베디드 타입과 같은 값 타입은 여러 엔티티에서 공유할 수 있습니다. 하지만 임베디드 타입 같은 값 타입을 여러 엔티티에서 공유하면 위험합니다. 사이드 이펙트가 발생합니다. 회원1과 회원2과 같은 주소를 바라보고 있을 때 city값을 NewCity로 바꾸어 버리면 둘다 바뀝니다. 이런 버그는 정말 찾기 힘듭니다. Address address = new Address("city', "street", "10000").. 2020. 4. 26. 이전 1 다음