[Effective Java] Item 6. 불필요한 객체 생성을 피하라 예시 public class RomanNumerals { private static final Pattern ROMAN = Pattern.compile( "^(?=.)M*(C[MD]|D?C{0,3})" + "(X[CL]|L?X{0,3})(I[XV]|V?I{0,3})$"); static boolean isRomanNumeral (String s) { return ROMAN.matcher(s).matches(); } ) } 똑같은 기능의 객체를 매번 생성하기보다는 객체 하나를 재사용하는 편이 나을 때가 많다. 재사용은 빠르고 세련되어 특히 불변 객체는 언제든 재사용할 수 있다. 다음 코드는 하지 말아야할 극단적인 예시이다. String..