728x90
String
- 불변(immutable) 클래스. 한 번 생성된 내용은 변경할 수 없다.
- 수정이 발생할 때마다 새로운 String 객체가 생성되며, 문자열을 수정하는 게 아닌 새로운 문자열을 반환한다.
- 수정이 빈번하게 발생하는 경우에는 메모리 공간을 많이 차지하고 성능에 영향을 줄 수 있다.
StringBuilder
- 가변(mutable) 클래스. 문자열을 수정할 수 있다.
- 수정이 발생할 때마다 기존의 버퍼를 수정하여 성능 향상을 제공한다.
- 단일 스레드 환경에서 안전하며, 대부분의 문자열 연산에 효율적이다.
StringBuffer
- 가변(mutable) 클래스. 문자열을 수정할 수 있다.
- thread-safe하도록 설계되어 있다.
- 멀티 스레드 환경에서 동기화(synchronization)되어 안전하게 동작한다.
'CS' 카테고리의 다른 글
[Java] 강한 결합과 느슨한 결합 (0) | 2023.11.29 |
---|---|
[java] Error, Checked Exception, Unchecked Exception (0) | 2023.11.24 |
[java] 원시타입(Primitive types)과 참조타입(Reference types) (3) | 2023.11.24 |
[java] 동일성(identity, ==)와 동등성(equality, equals) (0) | 2023.11.24 |
[Spring] 의존성과 설정값을 생성자 인자로 주입해야 하는 이유 (0) | 2023.11.22 |