본문 바로가기

불변3

이펙티브 자바 - 불필요한 객체 생성 - 이 글은 Effective Java 를 기반으로 작성되었습니다. - 불필요한 객체 생성 기능이 동일한 객체가 있다면 새로 생성하지 않고 재사용을 하는 편이 좋다. 특히 변경 불가능한 immutable 객체의 경우 값을 변경하지 않기 때문에 언제나 재사용이 가능하다. String test1 = "test1"; String test2 = "test1"; String test3 = new String("test1"); String test4 = new String("test1"); 위의 코드에서 모두 같은 test1 이라는 문자열을 생성하지만 test1 과 test2 는 리터럴 형식으로, test3 과 test4 는 new 를 이용해서 String 객체를 생성했다. test1 과 test2 는 JVM 내에.. 2021. 9. 18.
JPA - 값 타입 - 불변객체 - 참조: 자바 ORM 표준 JPA 프로그래밍 - 불변객체 값 타입을 여러 엔티티에서 공유해서 사용하면 위험하다. public static void save(EntityManager em) { EntityTransaction tx = em.getTransaction(); tx.begin(); Member member1 = new Member(); member1.setId("User#1"); Address companyAddr = new Address(); companyAddr.setCity("City#1"); companyAddr.setStreet("Street#1"); member1.setCompanyAddress(companyAddr); em.persist(member1); Member member2.. 2021. 7. 22.
UML - 클래스 다이어그램 고급 - 참조 객체, 값 객체 - 이 글은 UML Distilled (마틴 파울러)책을 기반으로 작성하였습니다. - 참조 객체와 값 객체 보통 객체는 고유성을 가지고 있다. 이는 참조 객체에 대한 이야기이며, 값 객체에서는 해당사항이 없는 이야기이다. 참조 객체는 무엇이고 값 객체는 무엇인가? - 참조 객체(Reference Object) 참조 객체는 고객과 같은 객체이다. 만약 프로그램에서 고객을 참조한다면, 해당 고객의 참조는 유일하길 원할 것이다. 그래야만 해당 고객에 대한 정보가 변경될 때, 해당 고객을 사용(참조)하고 있던 여러 사용자들(여기서는 사람을 말하는것이 아니라 참조를 하는 다른 코드를 말한다.)에게 해당 정보가 반영될것이다. 만약 어떤 고객에 대한 참조가 여러개 있고 이런 참조들이 같은 고객을 참조하고있는지 확인하.. 2021. 2. 10.