ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • String, StringBuffer, StringBuilder의 차이
    프로그래밍/오늘 공부 2019. 5. 16. 15:39

    String, StringBuffer, StringBuilder의 차이

    작년까지는 항상 String을 이용하다가 서버개발을 공부하기 시작하며 StringBuffer를 많이 사용하기 시작했다. 처음에 성능 떄문인 것으로 알고 있었는데 그렇다면 StringBufferStringBuilder 의 차이는 또 무엇일 지 알아보자.

    String

    String 클래스는 Immutable객체이다. 따라서, +연산이나 concat에서 새로운 인스턴스를 생성하기 때문에 성능 문제가 있었다. 하지만 JDK 1.5 이상부터는 컴파일시 내부적으로 StringBuilder로 변환된다.

    StringBuilder

    위의 String 클래스가 +연산이나 concat연산에 취약하기 때문에, 이러한 단점을 해결하기 좋은 클래스로, append 함수를 사용하여 String을 더하고, toString메소드로 String으로 변환한다.

    StringBuffer

    StringBuffer와 같은 역할을 하지만, StringBuffer 는 thread-safe하다는 장점이 있다. 이 때문에 다중스레드 환경에서는 StringBuffer를 사용하는 것이 좋다.

    댓글

Designed by Tistory.