본문 바로가기

내일배움캠프_TIL

9월 27일 TIL

스트링 빌더

StringBuilder는 변경할 수 없는 string과 달리 변경 가능한 문자열을 나타내는데 사용하는 클래스

string 객체는 값이 변경되면 메모리에서 이전 참조 값을 버리고 새로운 참조 값으로 변경되지만 StringBuilder 객체는 참조 값이 변경되지 않고 힙 메모리에서 값이 삽입, 추가, 제거한다

 

using System.Text;

StringBuilder 클래스를 사용하려면 System.Text를 추가해야한다

// StringBuilder 객체 생성
StringBuilder strBuilder = new StringBuilder();

// StringBuilder 객체 생성과 초기화
StringBuilder strBuilderInit = new StringBuilder("Init StringBuilder");

// 용량을 10으로 설정합니다.
StringBuilder strBuilderCapacity = new StringBuilder(10);

// 용량을 10, 최대 용량을 50으로 설정합니다.
StringBuilder strBuilderMaxCapacity = new StringBuilder(10, 50);

// 문자열을 "Init"으로 초기화하고 용량을 10으로 설정합니다.
StringBuilder strBuilderINIT = new StringBuilder("Init", 10);

문자열에 대해 변경사항이 많은 경우 StringBuilder를 사용하지만 동적 메모리 특성상 처리 과정이 성능적으로 좋지 않기 때문에 문자열이 정적이면 사용을 하지 않는 것이 좋다

 

오브젝트 풀

일정 수량의 오브젝트를 미리 생성해두고 풀에 저장해둔 다음에 필요시 꺼내서 사용했다가 사용이 끝나면 다시 풀에 반납하는 방식이다

이렇게 사용하면 비용이 큰 생성과 파괴를 최소화할 수 있고 이는 생성 및 파괴가 자주 일어나는 총알 등에 효과적으로 사용할 수 있다

하지만 불필요한 메모리 

'내일배움캠프_TIL' 카테고리의 다른 글

10월 17일 TIL  (0) 2023.10.17
10월 5일 TIL  (1) 2023.10.06
9월 26일 TIL  (0) 2023.09.26
9월 25일 TIL  (1) 2023.09.25
9월 20일, 21일 TIL  (0) 2023.09.21