본문 바로가기

LANG../JAVA

StringBuffer/StringBuilder, BufferedReader/BufferedWriter

JAVA API를 공부하다가 StringBuffer/StringBuilder, BufferReader/BufferWirter에 대해 접했다.

코테 공부하며 다른 풀이법을 찾아봤을 때 성능 향상을 위해 사용하는 함수들이었던 것 같은 기억..

공부해야겠다는 생각에 포스팅한다.

 

1. StringBuffer과 StringBuilder

  • 둘 다 문자열을 변경할 수 있는 가변한 객체를 제공하는 클래스 (String class는 불변 객체 : 인스턴스가 생성된 후에는 내용이 변경불가함)
  • 생성시 할당하는 저장용량 capacity(16)을 가지고 있고, append 연산으로 저장용량을 초과할 경우 기존 저장용량의 1.5배가 되는 새로운 저장 용량을 가진 객체를 재할당한다.

 

 

 

  • String 클래스는 객체를 생성하는 문제로 인해 속도가 느려지는 현상이 발생하기 때문에 이 문제를 해결하기 위해 속도적인 측면에서 개선된 StringBuffer과 StringBuilder를 사용한다.
  • StringBuilder가 성능적으로는 좀 더 낫지만, StringBuffer는 Thread safety를 보장한다.
  • 속한 패키지 : java.lang

 

 

 

 

 

2. BufferedReader과 BufferedWriter

  • 입출력 스트림을 버퍼링하여 입출력 효율을 높이기 위한 클래스들이다.
  • 속한 패키지 : java.io
    • BufferReader 는 텍스트 파일에서 데이터를 읽는 데 사용되고, BufferWriter는 텍스트 파일에 데이터를 쓰는 데 사용된다.
    • 주로 FileReader, FileWriter과 함께 사용되어 효율적인 텍스트파일 입출력을 지원한다. 
      • BufferedReader : readLine() 메서드를 통해 한 줄씩 읽을 수 있다.
      • BufferedWriter : write() 메서드를 통해 문자열을 파일에 쓸 수 있다.

 

'LANG.. > JAVA' 카테고리의 다른 글

Generic, Collection  (1) 2024.01.23
List - ArrayList, LinkedList  (0) 2024.01.23
API  (0) 2024.01.19
예외처리(checked exception / unchecked exception)  (0) 2024.01.18
abstract & interface  (0) 2024.01.17