본문 바로가기

카테고리 없음

[JAVA] 왜 자바에서는 문자열을 위한 Primitive자료형이 없을까?



JAVA의 Primitive 자료형(8유형)은 바이트수가 있다.(한정된 메모리 용량이 있다.)

"문자쓸꺼니 2바이트 쓸게"
"참거짓은 1바이트 줄게"
이렇듯 자바에서 뭔가 길이(용량)을 가진 메모리를 제공해준다.
그렇다면 문자열을 담아낼 수 있는 데이터타입을 제공한다고 했을 때
몇 바이트로 해야 할까?


문자열도 실수 데이터 타입처럼 골칫거리
어떤 데이터를 쓰냐에 따라서 얼마의 데이터공간을 제공할지가 정해지는데
문자열이라고 했을 때 문자열은 메모리공간을 얼마나 제공해야 할 지가 명확하지가 않다



자바는 '꼬장꼬장'한 앤데 50메가바이트를 줬더니 안녕? 이것만 담아버리고 끝.
이건 그 공간이 통째로 버려진거나 마찬가지.
이번에는 4바이트만 줄게 해서 할당해줬는데
여기다가 코더가 일기를 쓰고 앉았음. 이러면 안됨. 따라서 도저히 종잡을 수 없는 필요공간
이 이유때문에 기본 자료형의 형태로 제공해주지 못함. → Class의 하나인 String 으로 대체 
String은 프리미티브 자료형이 아니라 class이다.  
자바를 공부하게 되면서 class는 자바의 하이라이트
class에 대한 공부가 끝나야 String을 제대로 이해할 수 있다.
아직은 그 단계가 아니므로 제대로 무엇인지 이해하고 문자열을 쓰기에는 어렵다. 
그래서 그 이전까지는 덮어두고 String 을 쓴다.
우선은 프리미티브랑 똑같다고 생각하고 쓸거임.
하지만 에디트플러스에서 보기에 자료형들과 색도 다르고(파란 X 빨강 O) 첫 글자도 대문자 S임.