본문 바로가기
반응형

교수님이 저번 수업 시간 중 물어보셨다.

a == b와 a.equals(b)의 차이에 대해. 하여 기말고사를 준비할겸 적어본다.

 

"a == b "

"==" 연산자는 두 변수가 동일한 메모리 위치를 참조하는지 확인한다. 그렇기에 a와 b가 같은 String 객체를 가리키는 경우에만 true를 반환하는 것이다. 그렇기 때문에  메모리 위치가 다르면 내용이 같아도 false를 반환할 수 있다.

"a.equals(b) "

"a.equals(b)" .equals() 메서드는 두 String 객체의 내용이 동일한지 비교한다. 그렇기에 문자열 내용이 동일한 경우, .equals()는 true 를 반환합니다. 문자열의 내용을 비교하므로 객체의 메모리 위치가 다르더라도 내용이 같으면 true 를 반환할 수 있다.

 

 

 

반응형