강의

멘토링

커뮤니티

Inflearn Community Q&A

lchm11069474's profile image
lchm11069474

asked

Java Basics by Nadokoding - Full Course (20 hours)

String Comparison

문자열 비교 질문

Resolved

Written on

·

334

1

코드 내에서 s1 이 "1234"이고, s2 가 "1234" 라면 같은 메모리에서 참조되는 것이어서

== 이 같다라고 인식된다면 ==는 주소값을 기준으로 판단하는 것인가요?

javaoop

Answer 1

2

nadocoding님의 프로필 이미지
nadocoding
Instructor

안녕하세요?
나도코딩입니다. ^^

말씀해주신 부분이 맞습니다.

String s1 = "1234";
String s2 = "1234";

와 같이 하게 되면 메모리 공간에 "1234" 가 하나만 생성되며 s1, s2 변수는 동일한 위치를 참조하게 됩니다. 그리고 == 연산자를 사용하여 둘을 비교하게 되면 이들이 참조하고 있는 메모리 주소값을 기준으로 판단하며 예제의 경우 같은 곳을 참조하기 때문에 true 가 됩니다.

String s1 = new String("1234");
String s2 = new String("1234");

와 같이 하게 되면 메모리 공간에 서로 다른 "1234" 가 각각 생성되며 s1, s2 변수는 서로 다른 위치를 참조하게 됩니다. 그래서 == 연산을 통한 비교 결과는 false 가 됩니다.

감사합니다.

lchm1106님의 프로필 이미지
lchm1106
Questioner

상세한 설명 감사합니다!!

lchm11069474's profile image
lchm11069474

asked

Ask a question