Java Heap 메모리와 String Constant Pool 의 차이

김하밍·2023년 7월 1일
0

Java

목록 보기
15/46

(1) String literal로 생성한 객체끼리는 내용이 같다면 같은 객체, 즉 동일한 메모리 주소를 가리키고 있다.

(2) new 연산자로 생성한 String 객체는 내용이 같더라도 개별적인 객체이다.

  • new 연산자로 String 객체를 생성하면 같은 내용인 여러 개의 객체가 각각 Heap 영역을 차지하기 때문에 재사용이 안되어 공간을 많이 차지한다.

❓💡 저장되는 곳이 달라 개별적으로 생성이 되는데도 s1, s2, s3 변수명을 다르게 해줘야하는 이유는 ?

: 단순히, 변수는 한 번만 선언이 가능하기 때문이다.
재할당해주려면 아래와 같은 방식으로 코드를 작성해야 한다.

String s1 = "Cat";
s1 = "Dog";
profile
나만의 언어로 기록하며 성장하기 !

0개의 댓글