250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 자바
- 스프링
- 기초코딩
- github
- 프로그래밍
- 배열
- 프로그래밍언어
- 자바기초
- 메소드
- eclips
- spring
- 클래스
- 자바 스프링
- 초보코딩탈출
- 스프링 기초
- Git
- 초보코딩
- JShell
- Elk
- 알고리즘
- 프로그래밍기초
- 데이터베이스
- 컴퓨터과학개론
- 코딩초보
- 제이쉘
- 자바프로그래밍
- 리눅스
- JAVA기초
- 이클립스
- Java
Archives
- Today
- Total
키보드워리어
[자바] 참조자료형 - StringBuffer와 StringBuilder의 차이 - 4 본문
728x90
기존 String의 단점
기존 String의 경우 인스턴스 참조타입을 만들 때 단점이 하나 있습니다.
이런 스트링을 만든다고 가정할때 하나하나의 스트링에 인스턴스 참조타입을 만들어주어야 합니다.
4개의 기본 String을 더하는 연산 3개와 이후에 합 총 7번
객체를 생성하는 게 많아지는 것은 나중에 프로그래밍할 코드들이 많아진다면 속도에 영향을 미치기 때문에 StringBuffer라는 클래스가 필요 해지는 겁니다.
StringBuffer
StringBuffer클래스는 자바에서 스트링을 생성할 수 있는 또 다른 클래스입니다.
String처럼 간단하진 않지만요.
StringBuffer는 String처럼 기본형으로 쓸 수 없고 인스턴스로 만들어 주어야 해요.
하지만 String과 달리 수정이 가능하죠. append()메서드는 추가, setCharAt(integer,char)메서드로 수정이 가능하죠.
StringBuilder
StringBuilder의 경우는 최근에 나온 클래스입니다. 사용하는 양식은 StringBuffer와 크게 차이가 없어요.
둘의 차이는 StringBuilder는 싱글스레딩으로 멀티스레딩이 불가합니다.
스레딩에 대해서는 다음에 살펴보겠습니다.
StringBuffer는 멀티스레딩으로 페널티가 있다는 뜻이며 싱글스레딩의 경우 복잡한 사항이 없는데
StringBuffer는 속도가 매우 느려질 수 있습니다.
728x90
'JAVA > 입문' 카테고리의 다른 글
[자바] Date - LocalDate, LocalTime, LocalDateTime (0) | 2023.02.05 |
---|---|
[자바] Wrapper 클래스 - 생성메서드 valueOf, AutoBoxing - 5 (0) | 2023.02.02 |
[자바] 참조자료형 String의 이해 - String은 불공변 - 3 (0) | 2023.01.26 |
[자바] 참조자료형 String의 유용한 메서드 - 2 (0) | 2023.01.25 |
[자바] 참조자료형 String형은 생략된 부분이 있다?! - 1 (0) | 2023.01.24 |