Book
[코딩을 지탱하는 기술] 한 문자가 16비트인 JAVA 문자열 [수정중]
윤랩용
2022. 3. 27. 00:29
우선 java의 String 에대해서 알아보자
JAVA로 개발하다보면 제일많이 쓰이는 클래스가 String 클래스이다.
String 이란?
String 클래스는 문자열을 다루는 클래스미여 불변하다는 특징이있다.
String 객체에 값이 초기에 할당되면 그 값은 변경되지 않는다.
String 객체 생성방법
@DisplayName("String 객체 생성방법")
@Test
void test1(){
String a1 = "a";
String a2 = new String("a");
System.out.println("a1 = a2 : " + (a1 == a2));
}
리터럴로 생성될경우 String 객체는 String constant pool 이란 공간에 저장이된다.
new 연산자로 생성될 경우 Heap 영역에 저장된다.
각변수 a1, a2 는 Stack 메모리에 올라가며 String constant pool 과 Heap 영역에 생성된 객체 메모리 주소값을 참조하게된다.
즉 변수 a1와 a2는 서로 참조하는곳이 다르기때문에 false가 나오게 된다.