[Effective-Java] Chapter2 #6. 불필요한 객체 생성을 피하라
·
Reference/Effective-Java
기존 객체를 재사용해야 한다면 새로운 객체를 만들지 마라. 📌 기존의 인스턴스를 재사용하자 String 객체를 예시로 들어보자. String s = new String("Java"); String을 new로 생성하면 매번 새로운 객체를 생성하게 된다. 해당 인스턴스는 기능적으로 완전히 똑같기 때문에, 위의 코드가 반복문이나 빈번히 호출되는 메서드 안에 있다면 쓸데없는 String 인스턴스가 여러 개 만들어질 수 있다. String s = "Java"; 반면에 이 코드는 새로운 인스턴스를 만들지 않고 기존의 리터럴 문자열을 참조하게 된다. 같은 가상 머신 안에서는 모든 코드가 같은 객체를 재사용하는 것이 보장된다. (Item1에서 언급한 String pool의 플라이웨이트 패턴, 같은 내용의 String ..