intern 메서드

    자바 스트링 풀에 대해 쉽게 이해하기

    자바의 스트링 풀 String 객체의 값은 불변이다. 자바에 익숙하지 않은 사람은 String 객체의 값이 불변이라는게 무슨 뜻인지 잘 모를 것이다. 불변이란 것은 한번 저장된 값이 절대 변하지 않는다는 뜻이다. 그런데, String 타입의 변수를 선언하고, 내부의 값을 바꾸면 값이 잘 바뀌는 것처럼 보이는 것은 왜일까? 사실 우리가 문자열 변수의 내용을 변경할 때는 실제로 값이 변경되는 것이 아니라, 스트링풀이라는 저장소에 미리 사용될 문자들이 몽땅 저장되어 있는데, 문자열 변수의 내용 자체가 바뀌는 것이 아니라 문자열 변수가 가리키는 주소만 바뀌는 것이다. @Test public void immutableString() { String a = "abc"; System.out.println("a의 시스..

반응형