본문 바로가기
언어/JAVA

[Java] String과 char 차이점

by 코딩사무소장 2023. 4. 15.
반응형

자바에서 정수를 표현할 때는 byte, short, int, long 등을 사용한다. 

실수는 float, double을 사용한다.

문자는 char과 string이 있다.

 

얼핏 보면 char과 string은 헷갈릴 수 있으나, 명확한 차이점이 있다.

 

차이점은 크게 2가지다. 글자수와 내용물의 차이이다.

char은 내용물이 1개의 문자로 제한되지만, string은 제한없이 문자를 담을 수 있다.

char은 해당 변수 안에 값을 직접적으로 가지고 있고, 해당 값이 있는 좌표를 가지고 있지 않는다.

그에 반해 String은 클래스 타입의 변수이기 때문에 생성 시 해당 변수 안에 값을 가지는 것이 아니라 임의로 만들어진 값이 들어있는 위치의 좌표를 내용물로 가진다.

 

예를 들어, char a = 'a' 일 때 변수 안에는 a라는 값이 있지만, 

String b = 'b' 일 때 변수 안에는 'b'의 값이 아니라 'b'라는 텍스트가 위치한 좌표를 가진다.

 

이 차이점에서 발생하는 것은 ==의 사용 여부인데, char 은 값이 존재하니 ==를 사용할 수 있지만, String은 값이 같더라도 String 생성시 마다 서로 다른 좌표가 생성되어서 ==를 사용하면 같지 않다는 결과가 나온다.

해결책으로 .equals()를 이용하여 String의 내용물이 같은지 확인하여 파악한다.

 

반응형