만약 내가 새로 인스턴스를 습관적으로 새로 생성하려고 하는 상황이 있다고 생각해보자. 그럼 바로 new 생성자를 통해서 인스턴스를 생성할 것이 아니라, 내가 만드려고 하는 대상이 불변 클래스인지 아닌지 생각해보고, 그 클래스의 정적 팩터리 메서드를 사용할 수 있는지 생각해보자. 정적 팩터리 메소드를 사용하면 불필요한 객체 생성을 피할 수 있기 때문이다. Boolean을 생성자로 생성하는 것보다 Boolean.valueOf(String)이라는 팩토리 메소드를 사용하는 것이 좋다는 얘기다. 만약 생성비용이 비싼 객체라면 어떨까? 불필요한 생성을 줄임으로써 성능을 상당히 개선할 수 있을 것이다. 이런 비싼 객체가 반복해서 필요하다면 '캐싱'을 통한 재사용이 아주 유용할 수 있다. static boolean i..