우선 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가 나오게 된다.
'Book' 카테고리의 다른 글
[리액트를 다루는 기술] 4. 컴포넌트 (0) | 2022.06.27 |
---|---|
[리액트를 다루는 기술] 3. 코드이해하기 (0) | 2022.06.26 |
[리액트를 다루는 기술] 2. 작업 환경 설정 (0) | 2022.06.26 |
[리액트를 다루는 기술] 1. 왜 리액트인가? (0) | 2022.06.26 |
[코딩을 지탱하는 기술] 처리 흐름 제어 (0) | 2022.04.02 |