String, StringBuffer, StringBuilder 모두 문자열을 저장하고, 관리하는 클래스
📍 비교
| StringBuffer | StringBuilder |
| 문자열 수정, 추가 가능 | 문자열 수정, 추가 가능 |
| 내부에서 동기화(synchronized) 지원 | 동기화 없음 |
| 스레드 안전(Thread Safe) | 스레드 안전하지 않음 |
| 속도 보통 | 속도 빠름 |
| 멀티 스레드 | 단일 스레드 |
✋ 스레드?
더보기
더보기
스레드(Thread)는 프로세스(Process) 안에서 실행되는 작업의 가장 작은 단위
하나의 프로그램(프로세스) 안에서 동시에 여러 일을 처리하기 위한 실행 흐름
📌 비유
- 프로세스 = 회사 (건물, 자원, 인력 모두 포함)
- 스레드 = 직원 (실제로 일하는 사람)
- 한 회사(프로세스) 안에 여러 직원(스레드)이 동시에 다른 일을 할 수 있음
✅ StringBuffer의 메소드
| append() | 전달받은 값을 문자열로 반환하여 해당 문자열의 마지막에 추가 |
| capacity() | StringBuffer 인스턴스의 현재 버퍼 크기를 반환 |
| delete() | 지정한 인덱스의 해당하는 부분 문자열을 제거 |
| deleteCharAt() | 해당 인덱스의 문자 한 개만 제거 |
| insert() | 지정한 인덱스 위치에 입력 값을 문자열로 변환한 후 해당 인덱스 위치에 문자열을 추가 |
ex)
append()
StringBuffer str = new StringBuffer("Hello");
System.out.println(str.append(" Java!")); // Hello Java!
capacity()
StringBuffer str1 = new StringBuffer();
StringBuffer str2 = new StringBuffer("Hello");
StringBuffer str3 = new StringBuffer(" Java!");
// StringBuffer 인스턴스 생성 시, 16글자의 여유 공간을 가지고 생성된다.
System.out.println(str1.capacity()); // 16
delete()
StringBuffer str = new StringBuffer("Hello World!");
System.out.println(str.delete(5, 11)); // Hello!
deleteCharAt()
StringBuffer str = new StringBuffer("Hello World!");
System.out.println(str.deleteCharAt(1)); // Hllo!
insert()
StringBuffer str = new StringBuffer("Hello");
// System.out.println(str.append(" World!"));
System.out.println(str.insert(5, " World!")); // Hello World!
System.out.println(str.insert(5, " Java")); // Hello Java World!
'Language > JAVA' 카테고리의 다른 글
| [JAVA 기초 이론] java 객체지향 (0) | 2024.02.21 |
|---|---|
| [JAVA 기초 이론] 인터페이스: interface (0) | 2024.02.20 |
| 객체지향 프로그램(OOP)의 특성 (0) | 2023.05.26 |
| [JAVA 기초 이론] MVC패턴 (0) | 2023.05.24 |
| [JAVA 기초 이론] 집합: Set (0) | 2023.05.22 |