극단적인 ex)
String s= new String("테스트");
String s = "테스트";
기능적으로 동일한 객체를, 필요할 때마다 매번 새로 생성하기보다는 하나의 객체를 재사용하는 것이 좋을 때가 많습니다.
재사용을 하면 객체 생성에 소요되는 비용(시간과 자원)이 절감되므로 실행 속도가 더 빨라지고 코드도 보기 좋게 작성됩니다.
불변(immutable) 객체는 항상 재사용이 가능합니다.
new String 을 하게 되면 매번 새로운 String 인스턴스를 생성하게 됩니다.
한마디로 불필요한 객체를 만들게 된다는 말입니다.
매번 이 생성자를 통해 생성하게 되면 기능 상으로 동일한 객체가 계속 별개로 생성하게 되기 때문에, 만일 반복문이나 자주 호출되는 메소드 안에서 이런 문장이 실행된다면,
동일한 String 인스턴스를 쓸데없이 생성하게 됩니다.
String 의 경우 동일한 문자열 리터럴(literal)을 갖도록 권장하고 있습니다.