2장_아이템6 - ririkat/effective-java GitHub Wiki

아이템6. 불필요한 객체 생성을 피하라

📔 Summary

똑같은 기능의 객체는 매번 재생성하기 보다는 객체 하나를 재사용 하는 편이 낫다.

불필요한 객체 생성을 야기하는 예

  • 생성자의 남발
  • 오토박싱이 포함된 객체의 생성

불필요한 객체 생성을 막기 위한 방법

  • 반복문 or 빈번히 호출되는 메소드 안에서는 생성자보다는 불변 객체를 사용하라
  • 생성 비용이 비싼 객체는 반복 사용 시 캐싱해서 재사용하라
  • 박싱된 기본 타입보다는 기본 타입을 사용하고, 의도치 않은 오토 박싱이 숨어들지 않도록 주의해라.

위에서 설명한 불필요한 객체 생성을 막기 위한 방법을 무조건적으로 사용하라는 것이 아니라 아래의 내용과 같이 상황에 맞게 사용해야 한다.

  • 기존 객체를 재사용해야 할 경우는 생성을 피해라
  • 단, 방어적 복사가 필요한 상황에서는 재사용을 피하고, 객체를 생성하는 것이 더 좋다.

📔 Note

⚠️ **GitHub.com Fallback** ⚠️