기본값 타입
String name
,int age
와 같은 값생명 주기가 Entity에 의존한다.
회원을 삭제하면 이름, 나이도 함께 삭제된다.
값 타입은 공유하면 안된다.
회원 이름 변경 시 다른 회원의 이름도 변경되면 안된다.
참고
자바의 기본 타입(int, double 등)은 절대로 공유하지 않는다.
항상 값을 복사해서 사용한다.
기본 타입은 공유되지 않기 때문에 사이드 이펙트가 없다.
즉, 내 이름을 바꿨다고 다른 사람의 이름이 바뀌지는 않는다.
클래스는 레퍼런스를 가져가기 때문에 공유가 된다.
따라서 Integer 같은 wrapper 클래스나 String 같은 특수한 클래스는 공유 가능한 객체다.
하지만 변경 자체가 불가능하기 때문에 사이드 이펙트를 막을 수 있다.
Last updated