본문 바로가기

immutable2

이펙티브 자바 - 변경가능성 최소화 - 이 글은 Effective Java 를 기반으로 작성되었습니다. - 변경 불가능(immutable) 클래스 변경 불가능 클래스란 수정할 수 없는 클래스를 말하며, 객체가 생성될 때의 정보가 살아있는 동안 그대로 보존된다. 우리가 자주 사용하는 String, 기본 자료형(primitive type), Big Integer, Big Decimal 등이 모두 변경 불가능 클래스에 해당한다. 변경 불가능 클래스는 설계와 구현이 쉬우며 Client 가 사용하기도 쉽다. 그리고 오류 발생가능성이 적어 훨씬 안전하다. 변경 불가능 클래스가 지켜야 할 5 가지 규칙은 아래와 같다. 상태 변경 메소드(ex - setter, mutator) 를 제공하지 않는다. 계승(extends) 를 막아야 한다. 보통은 final.. 2021. 10. 30.
이펙티브 자바 - 불필요한 객체 생성 - 이 글은 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.