"Java에서 '=='와 'equals' 메소드 비교의 차이"



교수님이 저번 수업 시간 중 물어보셨다. a == b와 a.equals(b)의 차이에 대해. 하여 기말고사를 준비할겸 적어본다. "a == b " "==" 연산자는 두 변수가 동일한 메모리 위치를 참조하는지 확인한다. 그렇기에 a와 b가 같은 String 객체를 가리키는 경우에만 true를 반환하는 것이다. 그렇기 때문에 메모리 위치가 다르면 내용이 같아도 false를 반환할 수 있다. "a.equals(b) " "a.equals(b)" .equals() 메서드는 두 String 객체의 내용이 동일한지 비교한다. 그렇기에 문자열 내용이 동일한 경우, .equals()는 true 를 반환합니다. 문자열의 내용을 비교하므로 객체의 메모리 위치가 다르더라도 내용이 같으면 true 를 반환할 수 있다.


원문링크 : "Java에서 '=='와 'equals' 메소드 비교의 차이"