본문 바로가기

Languages/JAVA

[JAVA] 자바 자료형 알아보기 #4 - char, String

자바 데이터 타입들을 알아봅시다 #4 😀


자바에는 무수히 많은 데이터 타입들이 존재합니다. 오늘은 그 중에서도 char, String에 대해 알아봅시다!

 

[ 자바 자료형 링크 ]

1. [JAVA] 자바 자료형 알아보기 #1 - byte, short, int, long

2. [JAVA] 자바 자료형 알아보기 #2 - float,double
3. [JAVA] 자바 자료형 알아보기 #3 - boolean



자바에서 char은 기본데이터타입, String은 참조 데이터 타입입니다. 즉, String은 char 배열에 기능을 추가한 것입니다.

 

 

예제를 통해서 알아봅시다!


char

//char 형 변수 선언과 동시에 값 대입하기 
char ch1='a';
char ch2='b';
char ch3='c';
char ch4='가';
char ch5='나';
char ch6='다';
char ch7='@';

//정수값에 1:1 대응되는 char 값이 존재한다. 
int code1=ch1;
int code2=ch2;
int code3=ch3;
int code4=ch4;
int code5=ch5;
int code6=ch6;

char result1=100;
char result2=101;
char result3=102;

char은 위와 같이 참조값이 아닌 그냥 값이 변수에 대입되는 것을 볼 수 있습니다.


String

// "김00" 의 참조값을 name이라는 변수에 담기
String name = "김00";

String tmp = name;
name = "이00";
name = null;

위의 예제를 보면 name에 김00을 대입하고 tmp라는 변수에 name의 참조값을 넣어줍니다. 

그 다음 name 에 이00을 한번대입하고 null을 대입합니다.

 

위의 사진은 String tmp = name까지 디버깅했을때 모습입니다. 힙 영역에 19번이라는 참조값을 가지는 김00 문자열이 만들어지고 name과 tmp가 이 참조값을 가지는 모습을 볼 수 있습니다.

 

name = "이00"까지 디버깅한 모습입니다. 힙영역에서 23 참조값을 가지는 이00 문자열이 새롭게 만들어지고 name이 23번 참조열을 가집니다.

힙에서 한번 만들어진 문자열은 수정이 불가능합니다. 그렇기 때문에 새로운 문자열을 얻어낼려면 문자열을 다시 만들어서 참조하여야합니다. 

 

name = null을 실행하면 참조값을 가리키지않고 빈공간이 되는 모습을 볼 수 있습니다.

 

또한 String은 기능을 사용할 수 있습니다. 

String str = "abcd";
str.length();

이렇게 문자열의 뒤에 . 을 사용하여 다양한 메소드를 사용할 수 있습니다.