String > 객체가 한번 생성되면 할당된 공간이 변하지 않는다. 문자열을 더할때 +나 concat은 사실 그 객체에 문자열이 추가되는 것이 아니라(immutable) 새로운 객체를 생성해 그 객체를 참고하는 것이다. 연산이 많아지게 되면 Heap메모리에 과부화가 와서 속도가 느려질 수도 있다.
StringBuffer > String 자료형보다 무겁고 메모리 사용량도 많으며 느리다. 그러나 문자열이 길거나 변경 작업이 많을 때는 StringBuffer을 사용한다
코드예시
StringBuffer에서 자신의 메소드를 호출하여 자신의 값을 바꿔나가는 것을 메소드체이닝이라고 한다
*본 게시물은 프로그래머스<자바중급>강의를 복습하며 작성한 글입니다.
'JAVA' 카테고리의 다른 글
JAVA(2022.05.19)-스트링 클래스 (0) | 2022.05.19 |
---|---|
JAVA(2022.05.18)-Math (0) | 2022.05.18 |
JAVA(2022.05.16)-java.lang패키지/오토박싱 (0) | 2022.05.16 |
JAVA(2022.05.15)-Object와 오버라이딩 (0) | 2022.05.15 |
JAVA(2022.05.14)- 사용자 정의 Exception (0) | 2022.05.14 |