Java: String과 StringBuffer, String Builder
String불변 객체한 번 생성되면 할당된 메모리 공간이 불변이다.+연산자 또는 concat 메서드를 통해 문자열을 합치면, 기존에 생성된 String 클래스에 문자열을 붙이는 것이 아니라, 새로운 String 객체에 두 문자열을 합쳐서 리턴한다.새로운 객체를 생성하기 때문에, 문자열 연산이 많은 경우 성능이 좋지 않다.하지만, 간단하게 사용 가능하고 변경될 가능성이 거의 없는 경우, 동기화 문제를 신경쓰지 않아도 된다.(Thread-safe, 자원 공유 가능)🤔Java에서 왜 String을 불변으로 설정했을까?❗캐싱, 동기화, 보안 등에 이점이 있다.캐싱: String Constant(상수) Pool에 각 리터럴 문자열의 하나만 저장, 캐싱하여 재사용 가능하며, 힙 공간을 절약할 수 있다.- 해시코드..
2025. 4. 7.
최근댓글