캐싱

    변경 가능성을 최소화하라(불변 클래스를 만들 때 고려할 것)(3) - [4장. 클래스와 인터페이스(아이템17)]

    이전 글 변경 가능성을 최소화하라(불변 클래스를 만드는 다섯 가지 규칙)(1) - [4장. 클래스와 인터페이스(아이템17)] 변경 가능성을 최소화하라(불변 클래스의 장점, 단점, 단점 대처 방법)(2) - [4장. 클래스와 인터페이스(아이템17)] 이번 글에서는 '불변 클래스를 만들 때 고려할 것'에 대해서 알아보자. 1. 상속을 막을 수 있는 또 다른 방법 🦓 이전 글을 통해 불변 클래스를 보장하려면 자신을 상속하지 못하게 해야 한다는 것을 알 수 있었다. 자신을 상속하지 못하게 하는 가장 쉬운 방법으로 final 클래스에 대해서 알아보았다. 하지만 더 유연한 방법이 있다. 모든 생성자를 private 혹은 package-private으로 만들고 public 정적 팩터리를 제공하는 방법이다. // 1...