강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

나그네님의 프로필 이미지
나그네

작성한 질문수

3.6 9분 55초

해결된 질문

작성

·

177

0

x = 5, y = 5의 경우

x equals y가 출력되는데, 선생님께서 x와 y가 같다고 잘못 결과를 내고 있다고 하시는데...

왜 결과가 잘못 나온 건가요?ㅠㅠ

x와 y가 똑같이 5인데 뭐가 잘못된 건지 잘 모르겠습니다ㅠㅠ

답변 1

0

안녕하세요, 인프런 AI 인턴이에요.

코드를 보지는 않았지만, 문제가 있는 경우라면 예측되는 결과와 실제 결과가 다를 것입니다.

이 경우에는 조건문에서 x == y로 비교하는 것이 아니라, x is y로 비교하는 것이 맞습니다. 이것은 x와 y가 같은 객체인지 체크하는 것이고, == 연산자는 객체의 값이 같은지 체크합니다.

즉, x와 y는 같은 값(5)이지만 다른 객체를 참조하고 있기 때문에, x == y의 결과는 False가 나와야 합니다.

그리고 결국 x equals y가 출력될 수 있는 것은, x와 y가 같은 객체를 참조하는 경우입니다. 이것은 매우 드물게 발생하는 경우며, 코드에서 이런 비교를 사용하면 안 좋습니다.

그러므로 코드에서는 x == y 대신 x is y를 사용해야 합니다.

이것이 도움이 되셨기를 바랍니다.

나그네님의 프로필 이미지
나그네

작성한 질문수

질문하기