<aside> 💡
자바 기초문법을 배울때 데이터타입에 int, double, boolean 등등 데이터타입을 배울때 문자열을 표현하는 타입인 String 타입을 배우게 된다. 그런데, 앞의 int, double, boolean은 기본형 데이터타입이지만 String은 클래스타입이다.
</aside>
그렇다면 String은 기본형이 아닌 참조형이다. 그런데 아래 예제를 보면
String str = "hello";
마치 기본형 타입처럼 초기화를 해주는걸 볼 수 있다.
자바에서는 String클래스는 자주 쓰이기 때문에 “”로 문자열을 감싸면 알아서 생성자로 초기화해주는 형식으로 변환해준다.
String str = "hello";
String str = new String("hello");
<aside> 💡
String클래스는 참조형이다 따라서 인스턴스를 생성하면 참조값이 들어있기 때문에 참조형변수는 계산에 사용할 수 없다.
</aside>
public class StringConcatMain {
public static void main(String[] args) {
String a = "hello";
String b = " java";
String result1 = a.concat(b);
String result2 = a + b;
System.out.println("result1 = " + result1);
System.out.println("result2 = " + result2);
}
}
/*
결과
result1 = hello java
result2 = hello java
*/