본문 바로가기
JAVA

[JAVA] StringBuffer클래스, StringBuilder클래스

by 정공자씨 2024. 4. 24.

 

 

 

StringBuffer클래스

정의

  • StringBuffer 클래스의 문자열은 기존의 문자열을 변경하면
    • 새로운 문자열이 생성되는 것이 아니라
    • 기존의 문자열만 변경

 

사용하는 경우

  • 기존의 문자열을 변경하는 상황이 많은 경우에 사용
  • (예) 안드로이드와 같은 메모리 자원이 부족한 모바일 환경에서, 문자열을 자주 변경하는 경우에 사용

 

append() 메서드

  • append() : 문자열을 뒤에 추가함
  • String 클래스와 달리 append() 메서드를 이용하여, 기존 문자열을 수정할 수 있음

 

특징

  • 멀티 스레드 동기화 기능이 제공

 

 

 

 

 

StringBuilder 클래스

정의

  • StringBuffer 클래스의 문자열은 기존의 문자열을 변경하면
    • 새로운 문자열이 생성되는 것이 아니라
    • 기존의 문자열만 변경

 

사용하는 경우

  • 기존의 문자열을 변경하는 상황이 많은 경우에 사용
  • (예) 안드로이드와 같은 메모리 자원이 부족한 모바일 환경에서, 문자열을 자주 변경하는 경우에 사용

 

특징

  • 멀티 스레드 동기화 기능이 제공되지 않음
  • 따라서 StringBuffer보다 성능면에서 좋음
따라서 멀티 스레드 환경이 아니면 StringBuilder를 사용하는 것이 좋음

 

 

 

 

 

 

StringBuilder와 StringBuffer 차이점

StringBuffer 클래스 StringBuilder클래스
스레드 동기화 제공 스레드 동기화 기능을 제공하지 않음