반응형
String은 Serializable, CharSequence, Comparable 인터페이스가 상속되어 있고 public final class로 되어 있다.
serialize가 가능하며 문자열이고 비교가능한 값이라는 것을 알 수 있다. 또한 final class이기 때문에 String class를 상속받을 수는 없다.
private final cahr value[] 이기 때문에, 불변하고 외부에서 접근할 수 없기 때문에 새로운 값을 할당할 때마다 새로 생성 -> 클래스 생성, 메모리 남용
따라서, memory에 값을 append하는 StringBuilder와 StringBuffer를 사용
큰 차이점은 StringBuilder는 변경가능한 문자열이지만 synchronization이 적용되지 않았다.
StringBuffer는 thread-safe라는 말에서처럼 변경가능하지만 multiple thread환경에서 안전한 클래스라고 한다. (비동기상황에서 안전하다)
728x90
반응형
댓글