728x90
1. StringBuilder 란?
StringBuilder는 Java에서 변경 가능한 문자열을 다루기 위해 사용되는 클래스다.
2. 사용 이유
① 가변성 (Mutable)
: String 객체는 불변(immutable)이기 때문에 문자열을 조작할 때마다 새로운 String 객체가 생성된다.
반면, StringBuilder는 가변(mutable)하여 기존 객체를 재사용하면서 문자열을 변경할 수 있다.
이로 인해 반복적인 문자열 연산에서 StringBuilder가 String에 비해 효율적이다.
② 성능 향상
: 문자열 연산이 많은 경우, StringBuilder를 사용하면 메모리 사용을 줄이고 성능을 향상시킬 수 있다.
예를 들어, 반복문 내에서 문자열을 결합하는 경우 StringBuilder를 사용하는 것이 좋다.
③ 메모리 오버헤드 감소
: StringBuilder는 내부적으로 문자 배열을 사용하여 문자열을 관리한다.
배열이 꽉 찰 경우, 새로운 배열을 생성하고 기존 문자들을 복사한다.
이 과정은 필요할 때만 수행되기 때문에, String을 사용할 때보다 메모리 오버헤드가 적다.
3. 주요 메서드
① append : 문자열에 새로운 문자열 추가
StringBuilder sb = new StringBuilder("Hello");
sb.append(" World"); // "Hello World"
② insert : 지정된 인덱스에 문자열 삽입
StringBuilder sb = new StringBuilder("Hello");
sb.insert(5, " World"); // "Hello World"
③ delete : 지정된 시작 인덱스부터 끝 인덱스 전까지 문자 삭제
StringBuilder sb = new StringBuilder("Hello World");
sb.delete(5, 11); // "Hello"
④ reverse : 문자열의 순서 뒤집기
StringBuilder sb = new StringBuilder("Hello");
sb.reverse(); // "olleH"
⑤ toString : 현재 값을 일반 문자열로 변환하기
StringBuilder sb = new StringBuilder("Hello");
String str = sb.toString(); // "Hello"
728x90
'프로그래밍 언어 > Java' 카테고리의 다른 글
[과제] UML에 맞게 싱글톤 패턴 적용하기 (0) | 2023.12.18 |
---|---|
[Java] 싱글톤 패턴 개념 및 구현방법 (0) | 2023.12.18 |
[Java] 업캐스팅(Upcasting)과 다운캐스팅(Downcasting) (0) | 2023.12.18 |
[과제] 상속, 오버라이딩 (1) | 2023.12.16 |
[과제] 회원관리 - 객체지향프로그래밍 (1) | 2023.12.12 |