반응형
String, StringBuffer, StringBuilder
자바는 문자열을 다루는 클래스로써 String, StringBuffer, StringBuilder 이렇게 3가지 클래스가 있습니다.
이 3가지 클래스들의 각각의 차이점과 사용이유에 대해서 알아보겠습니다.
1. String, StringBuffer, StringBuilder의 차이점
가장 큰 이유에는 String 은 불변(immutable) 하고 StringBuffer와 StringBuilder는 기변(mutable)하다는 점입니다.
즉 String은 객체가 한번 할당되면 할당된 공간이 변하지 않지만 StringBuffer와 StringBuilder의 경우에는 객체의 공간이 부족해지는 경우 버퍼의 크기를 늘릴수 있습니다.
그렇다면 StringBuffer와 StringBuilder의 차이점은 뭘까요?
둘 다 크기를 유연하게 변하는 가변적인 특성을 가지고 있고 제공하는 메서드도같으며 사용하는 방법도 동일합니다.
하지만 두 클래스는 동기화 지원 유무가 다릅니다.
StringBuffer는 멀티스레드 상태에서 동기화를 지원하고 StringBuilder는 단일 스레드 환경에서만 사용하도록 설계되어 있습니다. 비록 StringBuilder가 StringBuffer보다 속도가 빠르지만 언제 어디서 멀티스
반응형
'프로그래밍 언어 > Java' 카테고리의 다른 글
Java 자바의 Static (0) | 2022.08.30 |
---|---|
Java 자바의 배열 정렬(Sorting) (0) | 2022.08.07 |
Java 자바의 추상 클래스와 추상 메소드 (0) | 2022.08.06 |
Java 자바의 getter, setter (0) | 2022.08.06 |
Java 자바의 Class (0) | 2022.08.06 |