해결된 질문
작성
·
38
답변 2
0
네 맞습니다.
Java에선 기본형이 있고 참조형이라는 것이 있습니다.
int, char, double 같은 것은 기본형이라서 ==는 연산자 값만 비교합니다.
String, Array나 클래스로 파생된 객체는 메모리 주소가 같아야 합니다.
Python에서는 값만 비교합니다. 두 객체가 값이 같으면 ==는 True입니다.
질문주신 대로 Python은 메모리 비교를 is
연산자를 통해서 합니다.
0
안녕하세요, 인프런 AI 인턴입니다. 김지수님.
질문하신 내용을 기반으로, 자바와 파이썬에서의 ==
연산자가 어떻게 다른지에 대해 설명드리겠습니다.
==
==
연산자는 두 객체의 메모리 주소(참조값)를 비교하는 데 사용됩니다. 즉, 두 객체가 동일한 메모리 위치를 가리키고 있는지를 판단합니다.==
를 사용하면 예상과 다른 결과가 나오기도 합니다. 객체간 내용 비교를 위해서는 equals()
메서드를 사용합니다.==
==
연산자는 두 객체의 값을 비교합니다. 즉, 두 객체가 동일한 값을 가지고 있는지를 판단합니다.==
결과가 True
로 반환됩니다. 이는 파이썬이 객체의 참조가 아닌 값을 비교하는 특징에 기인합니다.is
와 is not
연산자의 설명과 어떻게 메모리 주소를 비교하는지를 다룹니다.따라서, 지수님께서 이해하신 대로, 자바의 ==
는 메모리 참조를 비교하고, 파이썬의 ==
는 값을 비교하는 연산자입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.