영드로이드개발자
용이의 개발블로그
영드로이드개발자

블로그 메뉴

  • ⭐️ Home
  • 💻 GitHub
  • ❤️ Instagram
  • 👍 LinkedIn
  • 분류 전체보기 (44)
    • 공지사항 (1)
    • Daily 공부방 (0)
    • 프로그래밍 언어 (8)
      • Java (7)
      • Kotlin (1)
    • 안드로이드(Kotlin) (16)
    • 코딩테스트(Java) (11)
      • 기초 자료구조 (3)
      • 백준 (0)
      • 프로그래머스 1단계 (5)
      • 프로그래머스 2단계 (3)
    • 알고리즘 정리 (5)
    • 주간 목표계획 및 회고 (2)
    • Project (1)
      • Android App - 오마이코인 (1)

인기 글

최근 글

티스토리

hELLO · Designed By 정상우.
영드로이드개발자

용이의 개발블로그

Java 자바의 String, StringBuffer, StringBuilder
프로그래밍 언어/Java

Java 자바의 String, StringBuffer, StringBuilder

2022. 8. 4. 14:52
반응형

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
    '프로그래밍 언어/Java' 카테고리의 다른 글
    • Java 자바의 배열 정렬(Sorting)
    • Java 자바의 추상 클래스와 추상 메소드
    • Java 자바의 getter, setter
    • Java 자바의 Class
    영드로이드개발자
    영드로이드개발자
    도전을 즐기는 안드로이드 개발자 현영우의 개발 Blog

    티스토리툴바