안녕하세요. 팀드모네입니다.
오늘은 String 대신에 StringBuffer를 쓰는 이유에 대해서 알아보겠습니다.
String과 StringBuffer은 완전히 다르게 동작합니다.
🎯 StringBuffer는 이런 상황일 때 쓰면 됩니다!
단순 문자열 작업엔 스트링을 쓰면 되고
스트링을 짜르고 붙이고 할 일이 많으면 스트링 버퍼를 쓰면 됩니다.
우리가 스트링을 선언해서 힙 메모리에 적재한 후
값을 바꾸거나 붙이는 등 변경하는 작업을 해야한다고 가정해봅시다.
String str3 = new String("Hello Mother");
str3 = "Father";
코드를 보면 "Hello Mohter"에서 "Father"로 스트링 값이 변경된 것을 알 수 있습니다.
근데, 자바는 우리의 예상처럼 동작하지 않습니다. 사실 값이 바뀐 것이 아니라, 스트링이 새로 할당해버린 것이기 때문이죠. 그리고 기존에 있던 "Hello Mother"는 가비지 컬랙터에 의해 삭제 대상이 될 것입니다.
즉, String이 어떻게 동작하는지 모른다면
매우 지엽적인 코딩을 하게 될지도 모른다는 것입니다.
따라서, 단순 문자열 작업엔 스트링을 쓰면 되고
스트링을 짜르고 붙이고 할 일이 많으면 스트링 버퍼를 쓰면 됩니다.
👉 총 정리
조금 더 자세한 내용을 알고싶다면 아래의 영상을 참고해주세요~!
블로그 방문해주셔서 감사합니다.
도움이 되셨으면 '좋아요'를 눌러주세요!
추가로 질문사항이 있으면 댓글 남겨주세요 :)
reference : https://doctorson0309.tistory.com/
광고 링크 : https://ogx4.com