Programming Language/Java

String(문자열) 기본

csmoon1010 2020. 11. 29. 16:34

※ SWEA의 String 강의를 듣고 정리한 내용

swexpertacademy.com/main/learn/course/lectureVideoPlayer.do

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

1. 분류

(1) 고정 길이(Fixed length) : 문자열의 길이가 고정된 경우

(2) 가변 길이(Variable length) : 문자열의 길이가 고정되지 않음

- 길이 조절(Length controlled) - Java의 String

- 구분자(Delimited) - C언어의 String

 

2. Java String 클래스의 메모리 배치(Java.lang.String)

: 기본적인 객체 메타 데이터 + 네가지 필드

- 네가지 필드 : hash, count(String 길이), 데이터 시작점(offset), 실제 String 배열에 대한 참조(value)

- String의 길이를 관리하는 "가변 길이 구조"

 

3. String처리의 비교

(1) C언어

: 문자들의 "배열 형태"로 구현된 응용 자료형

- 마지막에 끝을 표시하는 Null 문자 '\0'을 넣어줘야 한다.

- 함수 형태의 연산 : strlen(), strcpy(), strcmp()

- 아스키코드로 저장 : 한글 문자 하나는 2bytes, 기본 단위는 1bytes

ex> "컴퓨터" → strlen() : 6

 

(2) JAVA

: String 데이터를 저장, 처리해주는 클래스를 제공

- Null 문자 사용하지 않음

- 연산자, 메소드 형태로 제공 : -, +, length(), replace(), split(), substring() → 좀 더 풍부한 연산

- 유니코드(UTF16)으로 저장 : 2bytes 단위로 문자 하나 인식

ex> "컴퓨터" → length() : 3

 

4. String으로 된 숫자를 정수로 변환 : Wrapper 클래스의 toString, parseXXX 이용