- 피드백이나 문의는 댓글 부탁드립니다. 0. 이 글을 작성하기 시작한 이유 회사에서 인턴을 하시는 분이 나에게 질문을 했다. "JAVA에서 string을 보통 string str = "abc"; 이런 식으로 표현하는데 분명 레퍼런스 타입이면서 new()로 표현을 안 하면 메모리에서 언제 제거될까요? 이 방법이 메모리에 적합한 방법일까요?" 전에 StringBuilder에 대해 간단하게 글을 작성한 적이 있었다.(https://developer-youn.tistory.com/14) 근데 new()로 하는 것과 ""로 하는 것에는 정확히 어떤 차이가 있을까 1. 과거 기억 소환 일단 기억을 더듬어보자. new 키워드를 통해 객체를 생성하면 heap영역에 할당이 되고 heap 영역에 존재하는 것들은 GC의 ..
string
StringBuffer를 사용하는 이유 Q. StringBuffer가 뭐고 String 과 무슨 차이가 있어요? A. 둘다 문자열 만들어줍니다. 차이점은 String은 immutable 객체입니다. StringBuffer는 아닙니다. Q. 그게 뭔데요 A. String은 immutable(불변적인) 객체입니다. 즉 공간에 한번 잡히면 더이상 그 값이 변하지 않아요. Q. 이렇게 하면 잘 변하는데요? Stringtmp = "abcd"; tmp += "efg"; System.out.println(tmp); A. 그거 내부적으로는 이렇게 진행됩니다. Stringtmp = "abcd"; tmp = newStringBuffer(tmp).append("efg").toString(); System.out.printl..