🧐 똑같은 기능의 객체를 매번 생성하기 vs 객체 하나를 재사용하기

<aside> 👉

보통의 경우 **‘객체 하나를 재사용’**하는 방법이 더 낫다. 왜일까??

</aside>

예시 1: String은 문자열 리터럴 방식을 사용하여 초기화하자

String s = new String("bikini"); // bad 👎🏻

⇒ 똑같은 기능의 객체를 매번 생성

⇒ 개선을 해보자!

String s = "bikini";

예시 2: 정적 팩터리 메서드 방식을 사용하자

  1. 생성자 방식: Boolean(String)
  2. 정적 팩터리 메서드 방식: Boolean.valueOf(String) ⇒ 불필요한 객체 생성을 피할 수 있음 ⭐️

예시 3: 생성 비용이 아주 비싼 객체를 반복해서 사용해야 한다면 캐싱해두고 재사용하자

static boolean isRomanNumeral(String s) {
	return s.matches("^(?=.)M*(C[MD]|D?C{0,3})"
				+ "(X[CL]|L?X{0,3})(I[XV]|V?I{0,3})$");
}