byte(1) -> short(2)/char(2) -> int(4) -> long(8) -> float(4) -> double(8) String name1 = "seongeun";String name2 = new String("seongeun");두 방식 모두 실제 문자열의 내용을 값으로 갖고 있는 기본 타입이 아닌, 문자열이 존재하는 메모리 공간 상의 주소값을 저장하고 있는 참조 타입이다.
name1과 name2의 문자열 내용이 동일한지를 비교하기 위해서는 ==연산자가 아니라 equals()메서드를 사용해야 한다.
name2는 String 클래스를 통해 생성된 인스턴스의 주소값을 가리키고 있기 때문이다.
String 클래스로 생성한 문자열을 더하기 위해서는 매번 새로운 인스턴스를 생성해야 한다. 문자열이 길어지면 비효율적이므로, StringBuilder 또는 StringBuffer를 활용한다.