
이전에 포스팅한 String클래스와 Constant Pool에 이어서 String, StringBuffer, StringBuilder의 차이에 대해 설명한 글이다. String vs StringBuffer vs StringBuilder Java에서는 문자열 객체를 생성하기 위해 String, StringBuffer, StringBuilder이라는 3가지 클래스를 제공한다. 세 클래스 모두 문자열을 관리하기 위한 클래스이지만 불변(Immutable)한지, Thread-safe한지에 따라 조금씩 차이가 있다. String은 불변하며, 객체를 빠르고 작은 메모리로 생성할 수 있기 때문에 메모리 관리를 효율적으로 처리할 수 있다는 장점이 있었다. 하지만 불변하기 때문에 성능이 저하되는 문제도 가지고 있다. St..

Java에서는 문자열 객체를 생성하기 위해 String, StringBuffer, StringBuilder이라는 3가지 클래스를 제공한다. 세 클래스 모두 문자열을 관리하기 위한 클래스이지만 불변(Immutable)한지, 동기화를 지원하는지에 따라 조금씩 차이가 있다. 우선 String부터 살펴보겠다. (String, StringBuffer, StringBuilder의 차이점에 대해 포스팅하려다 String 내용이 많아서 분리했다.) String은 특별하다 String클래스는 다른 클래스들과는 조금 다르다. (String is Special) Reference Type임에도 불구하고 Primitive Type처럼 사용할 수 있다. String을 초기화할때 Primitive Type처럼 직접 문자열 리터럴..