String 자료형에 + 연산이 있을 때마다 새로운 String 객체가 생성된다(문자열 간 + 연산이 있는 경우 자바는 자동으로 새로운 String 객체를 만들어 낸다.
따라서 메모리에 효율적인 사용을 위해서 StringBuffer를 사용하기도 한다.
1. StringBuffer
StringBuffer sb = new StringBuffer(); // StringBuffer 객체 sb 생성
sb.append("this");
sb.append("is");
sb.append("String");
String result = sb.toString();
System.out.println(result);
2. String
String result = "";
result += "This";
result += "is";
result += "String";
System.out.println(result);
두개의 예제의 결과는 동일하지만 첫번째는 StringBuffer 객체는 한번만 생성되는 반면에
두번째는 String 자료형에 +연산이 3번이나 추가되었기에 총 4개의 String 자료형 객체가 자동으로 생성된다.
그렇다면 무조건 StringBuffer를 사용하는것이 좋은가?
그건 상황마다 다르다고 한다. 일반적으로 StringBuffer자료형은 String보다 무거운 편에 속하며
따라서 문자열 추가나 변경등의 작업이 많을 경우에 StringBuffer를 그렇지 않는 경우는 그냥 String을
사용하는 것이 유리하다.
'Java' 카테고리의 다른 글
Java - 대용량 데이터 적재 로직 설계시 유념할 사항 (0) | 2022.11.04 |
---|---|
Java - properties 파일이란 무엇인가? (0) | 2022.06.17 |
Spring 스케쥴링 (@scheduled 어노테이션) 및 Cron표현식 (0) | 2022.03.30 |
Java - 현재날짜 구하기 (jdk 1.8 이상) (0) | 2022.01.19 |
try-with-resource 문 : Java - Try() catch : try뒤에 괄호는 뭘까? (0) | 2022.01.18 |