상세 컨텐츠

본문 제목

[java] 자바_StringBuilder & StringBuffer클래스 쉽게 정리 /String과 차이점 비교/빌더패턴(Builder Pattern)

java_자바

by 쫑메이 2020. 8. 2. 00:34

본문

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 


[자바]StringBuilder & StringBuffer클래스


 

 

 

★String클래스와 무관하다

문자열 편집이 쉽다

버퍼를 사용하여 문자열을 저장하며, 편집시 버퍼 안의 내용을 직접 조작함

cf) String 클래스에 배해 편집속도가 빠르다(concat,연결연산자(+)

 

 

 

문자열 편집 결과에 대한 새 문자열 생성되지 않으므로 공간 낭비가 적음

두 클래스의 메서드는 거의 동일하며, 멀티쓰레드 환경에서의 차이가 존재

문자열 생성시 String클래스와 달리 리터럴 할당은 불가능하며, 객체 생성만 가능하다

 

 

▶StringBuffer="Hollo,World"; (불가능)

 

 

▶StringBuffer buffer=new StringBuffer("Hello,World"); (객체생성가능)

 

 

 

 

 

 

 

 

 

 

 


[자바]StringBuilder & StringBuffer클래스_메서드


 

 

length( ) : 문자열 길이

capacity( ): 버퍼 크기

버퍼가 다 차면 자동으로 버퍼 크기확장

 

 

 

 

 

 

 

 

 

 

 

 

 


[자바]StringBuilder & StringBuffer클래스_

메서드: toString()


 

 

 

 

toString( ):메서드가 오버라이딩 되어 있으므로 문자열 출력이 용이하다

 

 

 

 

 

 

 

 

 

 

 

 


[자바]StringBuilder & StringBuffer클래스

_메서드:append()


 

 

 

append ( ) :문자열 뒷부분에 새 문장을 추가(결합)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


[자바]StringBuilder & StringBuffer클래스

_메서드:insert()


 

 

 

 

 

insert(): 특정 인덱스에 문자열 삽입

 

 

 

 

 

 

 

 

 

 

 

 

 


[자바]StringBuilder & StringBuffer클래스

_메서드:reverse()


 

 

 

 

reverse( ): 문자열 순서 뒤집기(반전)

 

 

 

 

 

 

 

 

 

 

 

 

 


[자바]StringBuilder & StringBuffer클래스_

 

 

 

 

StringBuffer객체의 메서드 여러개를 호출하여 다양한 작업을 수행할 때

각각의 메서드를 별도로 호출할 수도 있지만 메서드를 연쇄적으로 연결하여 작업을 처리할 수도 있다

 

 

 

 

 

왜? StringBuffer또는 StringBuilder클래스의 메서드 리턴타입은

모두 자기 자신이므로 실행결과에 다시 다른 메서드 적용이 가능하다

 

 

 

 

 

 

 

 

 

 

 


[자바]StringBuilder & StringBuffer클래스

_메서드: 빌더패턴


 

 

원래는 메소드 호출할 때 이렇게 쓴다

메소드를 나눠서 하나 하나 씩

 

 

 

 

 

하지만 빌더 패턴을 사용하면 

메소드를 연결해서 이렇게 쓸 수 있다

 

 

 

 

빌더패턴(Builder Pattern)이란?

메서드 실행결과에 다시 다른 메서드를 호출하는 것

메서드 리턴 타입이 자기 자신을 리턴하고 계속 연결해서

다음 메서드를 호출하는 형태의 프로그래밍 방식

 

 

 

 

 

 

 

 

 


 

 

 

ㅣ읽느라 수고 많으셨어요~ㅣ


 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

부족한 글을 읽어주셔서 감사드립니다

 

아직 부족한게 많으니

틀린 곳이 있다면

조언의 말씀 꼭 부탁드립니다!!!!

 

 

 

 

 

 

 

 

 

 


 

 

 

반응형

관련글 더보기