inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

나도코딩의 자바 기본편 - 풀코스 (20시간)

문자열 비교

문자열 비교 질문

해결된 질문

340

lchm1106

작성한 질문수 3

1

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

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

java oop

답변 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 가 됩니다.

감사합니다.

0

lchm1106

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

자바를 처음 배울 때 이런 고민이 드는 게 정상일까요?

1

148

2

static이 뭐였는지 기억이 안나요 ㅜㅜ

0

120

2

Iterator (알 수 없음) 데이터 삭제 후 초기화 관련 문의

0

73

1

사고력 키우는 법이 어떤게 있나요?

0

94

2

getter setter

0

103

2

섹션9. 66 메소드 오버로딩 시 질문이 있습니다.

0

80

1

안녕하세요 갑자기 프로그램 에러가 떠서 안되네요

0

77

2

변수 이름짓는법

0

114

2

intelli J 실행오류

0

117

2

혹시 이건 수학적 사고가 부족한 걸까요?

0

152

2

영상이 재생이 안됩니다.

0

167

3

이중 반복문 (후반전) 오른쪽으로 치우친 별 쌓기에 질문이 있습니다.

0

118

2

응용이 어렵습니다.

0

207

2

IntelliJ가 보이지 않습니다.

0

187

3

JDK 버전 문의

0

130

2

BlackBox 파일 내에서 메소드 정의

0

137

1

동기화

0

123

2

Iterator 문의

0

105

1

코드 순서 문의

0

143

1

클래스 메소드

0

150

2

Quiz_05 관련 질문드립니다 !

0

118

2

다운로드가 안됩니다

0

165

2

다형성

0

120

2

HashMap

0

82

2