반응형
필요성
- 문자열 처리는 보통 String이 하지만, 불변의 속성을 갖는다.
- 문자열을 할당했다가, 추가로 더해지는 연산을 하면 기존 메모리에 추가되는 것이 아니라,
- 새로운 메모리에 더해진 문자열의 영역을 잡고 그 곳의 주소를 가리킴
- 이전에 저장되어 있던 문자열 부분은 GC(garbage collector)가 관리함
- 문자열의 변경(추가, 삭제, 수정)이 빈번한 경우 메모리에 영향이 클 수 있음
- 이를 해결하기 위해서 불변이 아닌 가변의 속성을 가지는 StringBuffer 클래스를 사용
- 따라서, 문자열의 변경(추가, 삭제, 수정)이 빈번하게 발생하는 경우
- String 클래스보다는 StringBuffer 클래스를 사용해야함
예제
- 보통 문자열의 조작에 많이 쓰이나, 요즘 컴파일러는 String 클래스와 크게 차이가 없어 보임
- String이나 StringBuffer는 업무에 맞게 편한 것을 사용하면 됨
개선
반응형
'cs > java-spring-boot' 카테고리의 다른 글
[Zero-base] 4-4. 날짜 관련 클래스 (0) | 2022.02.04 |
---|---|
[Zero-base] 4-3. Math 클래스 (0) | 2022.02.04 |
[Zero-base] 4-1. Object 클래스와 String 클래스 (0) | 2022.01.27 |
[Zero-base] 3-5. 인터페이스 (0) | 2022.01.26 |
[Zero-base] 3-4. 추상 클래스 (0) | 2022.01.26 |