String 클래스 String 선언 String을 선언하는 방법은 아래와 같이 두가지다. str1처럼 힙 메모리에 인스턴스로 생성되는 경우와 str2처럼 상수 풀(constant pool)에 있는 주소를 참조하는 방법. ("abc" 문자열을 가르키는 변수 str2) 힙 메모리는 생성될 때 마다 다른 주소값을 가진다. 따라서 == 연산자를 사용해 str1과 str2를 비교하면 false 가 나온다. 반면 str3과 str4처럼 상수 풀의 문자열은 모두 같은 주소값을 가진다. String의 불변성 한번 생성된 String은 불변 immutable 의 특징을 가지고 있다. 예를 들어 concat() 메소드를 사용해서 String 과 String을 연결하면 기존의 문자열에 내용이 추가/연결되는 것이라고 생각하기 쉽지만 사실은 이전 문자열과 다른 아예 새로운 문자열이 생성된다.