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 |