immutable
-
[매일읽기] Immutable classes in Java개발자 라이프/매일읽기 2020. 7. 26. 09:26
자바에서 불변 객체의 특징과 생성 방법을 알아본다 불변 객체의 특징 객체의 값(상태;state)가 변경되지 않는다. 변하지 않는 값으로 확신할 수 있으므로 개발 과정에서 안정적이다. 멀티 스레드 환경에서 안정적이다. VM 캐시 혹은 별도 구현 캐시에 쉽게 캐시하고 사용할 수 있다. equals() & hashCode() 가 구현된 상태에서 해시 컬랙션에 안정적으로 넣을 수 있다. 가변 객체에서 불변 객체 만드는 과정 No. 과정 취약점 1 setter를 제거하여 직접적인 변경을 막는다. 초기 데이터를 넣을 수 없다. 2 all args 생성자를 추가하여 데이터를 생성 초기에만 넣을 수 있도록 한다. 클래스 상속 후 데이터를 변경하는 메소드를 추가 구현하여 데이터를 변경한다. 3 final 클래스로 지정하..