해결된 질문
작성
·
297
답변 1
2
안녕하세요?
나도코딩입니다. ^^
말씀해주신 부분이 맞습니다.
String s1 = "1234";
String s2 = "1234";
와 같이 하게 되면 메모리 공간에 "1234" 가 하나만 생성되며 s1, s2 변수는 동일한 위치를 참조하게 됩니다. 그리고 == 연산자를 사용하여 둘을 비교하게 되면 이들이 참조하고 있는 메모리 주소값을 기준으로 판단하며 예제의 경우 같은 곳을 참조하기 때문에 true 가 됩니다.
String s1 = new String("1234");
String s2 = new String("1234");
와 같이 하게 되면 메모리 공간에 서로 다른 "1234" 가 각각 생성되며 s1, s2 변수는 서로 다른 위치를 참조하게 됩니다. 그래서 == 연산을 통한 비교 결과는 false 가 됩니다.
감사합니다.
상세한 설명 감사합니다!!