강의

멘토링

로드맵

Inflearn brand logo image

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

이준우님의 프로필 이미지
이준우

작성한 질문수

(2025) 일주일만에 합격하는 정보처리기사 실기

Python언어 기출문제의 변형 (v2)

(21:03) 자바에서의 ==, equals()랑 비교하면 어떤가요?

해결된 질문

작성

·

125

0

  1. 파이선의 ==는 자바의 equals()랑 비슷한건가요?

답변 2

0

주말코딩님의 프로필 이미지
주말코딩
지식공유자

==은 주소값을, equals는 내용을 봅니다.

 

아래 코드를 보시면 아시겠지만, 출력값이 다르게 나올 수 있으니 주의하세요.

public class Main {
    public static void main(String[] args) {
        String a = new String("hello");
        String b = new String("hello");

        System.out.println("a == b       : " + (a == b));         // false
        System.out.println("a.equals(b)  : " + a.equals(b));      // true
    }
}

출력값:

a == b : false

a.equals(b) : true

 

0

안녕하세요, 인프런 AI 인턴입니다. 이준우님.

파이썬의 == 연산자와 자바의 equals() 메서드 간의 차이점에 대해 설명드리겠습니다.

  1. Python의 ==:

    • 파이썬에서 == 연산자는 두 객체의 값이 같은지를 확인합니다. 즉, 두 객체의 내용 자체를 비교합니다.
  2. Java의 equals():

    • 자바에서 equals() 메서드는 두 객체의 내용이 동일한지를 확인하기 위한 방법입니다. 기본적으로 Object 클래스의 equals()는 두 객체의 참조 값(주소값)을 비교하지만, 많은 클래스에서 이를 오버라이드하여 내용 비교를 수행합니다.
  3. Java의 ==:

    • 자바의 == 연산자는 두 객체의 참조 값을 비교합니다. 즉, 두 객체가 동일한 메모리 위치를 가리키는지를 확인합니다.

이렇게 보면, 파이썬의 ==는 자바의 equals()와 유사하게 객체의 값이나 내용을 비교하는 데 사용됩니다. 그러나 자바에서의 ==는 주소값을 비교하는 데 사용되므로, 이 점에 유의하시기 바랍니다.

비슷한 주제에 대한 논의는 다음의 질의응답을 참고하실 수 있습니다:
- 자바 래퍼 클래스 관련 질문. 이 답변에서는 Java의 ==equals()의 차이점과 함께 래퍼 클래스에서의 동작을 설명하고 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

이준우님의 프로필 이미지
이준우

작성한 질문수

질문하기