반응형
제육's 휘발성 코딩
반응형
article thumbnail
[이펙티브 자바] 아이템 17 : 변경 가능성을 최소화하라
Book/Effective Java 2022. 7. 27. 17:56

변경 가능성을 최소화하라 String, BigInteger, BigDecimal 등은 자바 플랫폼 라이브러리에서 불변 클래스로 정의 된다. 불변 클래스란 인스턴스 내부 값을 수정할 수 없는 클래스를 의미한다. 불변 클래스는 가변 클래스보다 설계 및 구현이 쉬우며, 오류가 생길 여지가 적고 훨씬 안전하다. 불변 클래스 생성 규칙 객체의 상태를 변경하는 메서드(Setter)를 제공하지 않는다. 클래스를 확장할 수 없도록 한다. 상속을 막는 대표적인 방법은 클래스를 final로 선언하는 것이며, 다른 방법도 있다. 모든 필드를 final로 선언한다. 시스템이 강제하는 기능을 이용해 설계자의 의도를 드러낸다. 새로 생성된 인스턴스를 동기화 없이 다른 스레드로 건네도 문제없이 동작하게끔 보장하는 데도 필요하다. ..

반응형
반응형