본문 바로가기
language/JAVA

[JAVA] StringBuilder를 사용하는 이유

by susu2 2022. 3. 9.

자바에서 문자열을 사용할 때 일반적으로 String을 사용합니다.

String str = "문자열";

 

변수 str의 값을 수정하려면,

str = "수정된 문자열";

이렇게 하면 수정된 것 처럼 보이지만

사실은 자바에서 String 객체는 수정이 불가능! 하기 때문에 새로운 String 객체를 만들어서 기존에 있는 값에 대입하고...

이게 계속 반복되기 때문에 메모리 낭비가 생기게 됩니다.

 

그래서 변경 가능한 StringBuilder 라는 클래스를 사용하여 한 객체로 문자열을 수정하고~ 삭제하고 등등이 가능해집니다!

다만 StringBuilder는 동기화를 지원하지 않기 때문에 멀티쓰레드 환경에서는 String이나 StringBuffer를 사용하는 것이 좋겠죠?

'language > JAVA' 카테고리의 다른 글

[JAVA] 다형성 / instanceof  (0) 2021.08.04
[JAVA] Scanner 대신 Buffer를 사용해보자!  (0) 2021.07.30
[JAVA] 상속 / 오버라이딩 / super, super()  (0) 2021.07.29
[JAVA] 변수의 종류  (0) 2021.07.28
[JAVA] JAVA란 무엇인가?  (0) 2021.07.28

댓글