[Java] String 은 왜 불변(Immutable)일까? ( feat. StringBuilder를 써야 하는 이유)
·
Develop/Back-End
코테 풀다가 한 번쯤 턱 맞는 포인트프로그래머스 같은 데서 이런 문제 한 번쯤 본 적 있을 거다.문자열 my_string 과 정수 k가 주어질 때,my_string 을 k번 반복한 문자열을 return 하세요.대부분 처음에는 이렇게 짠다.public String solution(String my_string, int k) { String answer = ""; for (int i = 0; i 테스트 몇 개 돌려보면 잘 동작하고, 길이도 작으면 제출해도 그냥 통과한다.근데 문자열 길이랑 k가 좀만 커지면 이런 코드 패턴이 진짜 성능 구멍이 된다.이유는 하나다.Java 의 String 은 “불변(immutable)” 이기 때문.이 글에서는String 이 불변이라는 게 정확히 무슨 뜻인지왜 그렇게 ..