데브허브 | DEVHUB | StringBuffer (Technique of the Week)StringBuffer (Technique of the Week)
- Dart 문자열은 불변(immutable)하며, 문자열 메서드나 연결(
+ 연산자)은 항상 새로운 문자열 객체를 생성합니다. 🔄
- 잦은 문자열 연결은 많은 임시 객체와 불필요한 메모리 할당을 유발하여 성능 저하의 원인이 될 수 있습니다. 📉
StringBuffer는 문자열을 단계별로 효율적으로 구축할 수 있는 가변(mutable) 작업 공간을 제공합니다. 🛠️
StringBuffer는 각 추가 작업 시 새로운 문자열 객체를 생성하지 않으며, toString() 메서드 호출 시에만 최종 불변 문자열을 생성합니다. ✨
- 이를 통해 단 하나의 문자열 객체만 메모리에 생성되어 메모리 효율성과 성능을 크게 향상시킬 수 있습니다. 🚀
StringBuffer는 특히 많은 문자열 연결이 필요한 경우(예: 로그 메시지 빌드)에 사용하는 것이 좋습니다. 💡
- 간헐적인 문자열 연결에는
+ 연산자를 사용해도 무방하지만, 반복적인 작업에는 StringBuffer를 고려해야 합니다. ✅