작성
·
28
0
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
예
[질문 내용]
여기에 질문 내용을 남겨주세요.
김영한 자바 중급1의 섹션2에서 equals의 동일성과 동등성에 대한 내용의 퀴즈내용중에서 질문이 있습니다.(이미지 참조)

자바에서는 기본적으로 "=="연산자와 equals()메소드는 "물리적 동일성"으로 println을 했을때 둘 다 false로 잡히는것으로 이해가 되고 있는데요. 오버라이드를 별도로 생성해야 물리적 동일성과 논리적 동등성에 대한 euqals메소드를 차이점을 갖고 사용할 수 있는것으로 이해했습니다. 맞을까요?
그렇다면, 위의 섹션2 퀴즈 내용에서의 문제같은 경우는 좀더 세부적인 명시가 있어야 하는게 아닌지 아니면 제가 이해를 잘 못하고 있는 부분이 있는지 조언이 필요하여 Q&A에 질문을 남깁니다.
좋은 가르침 항상 감사합니다 ( _ _ )
답변 3
0
안녕하세요. zeler1004님
AI 퀴즈를 인프런 플랫폼에서 AI를 통해서 자동화해서 제공하고 있는 기능인데요.
기능이 아직 완벽하지는 않은 것 같아요.
자바의 경우 기본적으로 ==은 물리적 비교, equals()는 논리적 비교로 보는 것이 맞습니다.
다만 equals()를 구현하지 않으면 Object가 제공하는 기본 equals()를 사용하게 되고, 해당 구현의 기본 기능은 ==와 같은 물리적 비교입니다.
감사합니다.
0
그럼 퀴즈의 질문자체에서는 자바에서는 조건에 따라서 무엇을 비교하는지에 대한 안내가 추가적으로 있어야 문제에서의 의도가 혼란이 없을것이라고 생각이 되어지는데 제가 생각한 부분이 잘못된 것인지 판단할 수 있는 조언이 필요합니다. 감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다. zeler1004님 질문에 답변 드리겠습니다.
자바에서 == 연산자와 equals() 메서드는 서로 다른 용도로 사용됩니다. == 연산자는 객체의 물리적 동일성을 비교하는데 사용되며, 두 객체가 메모리 상에서 같은 위치에 있는지를 확인합니다. 반면에 equals() 메서드는 논리적 동등성을 비교하는 데 사용되며, 두 객체가 같은 내용을 가지는지를 확인하도록 설계되어 있습니다.
기본적으로, 모든 자바 객체는 Object 클래스를 상속받습니다. Object 클래스에서 제공하는 기본 equals() 메서드는 == 연산자와 같은 방식으로 동작하여 물리적 동일성을 비교합니다. 그러나, 이 equals() 메서드는 오버라이드되어 특정한 객체의 상태나 내용을 비교하는 논리적 동등성을 평가하도록 변경할 수 있습니다. 이러한 오버라이드는 String, Integer와 같은 기본 클래스에서 이미 구현되어 있습니다.
질문하신 퀴즈 내용에서는 == 과 equals() 메서드의 기본적인 차이를 설명하고 있으며, 실제로 equals()를 사용하여 논리적 동등성을 구현하기 위해서는 오버라이딩을 잘 이해하고 있는 것이 중요합니다.
동일한 주제에 대해 더 심도 있는 설명은 다음의 기존 답변들을 참고하실 수 있습니다:
동일성, 동등성 - 여기서는 equals() 메서드를 올바르게 구현하여 객체의 논리적 동등성을 비교하는 방법과 필요성에 대해 설명합니다.
equals 메서드도 - 이 게시글에서는 equals() 메서드 재정의의 중요성을 다루며, 객체 비교의 특성에 대해 공부할 수 있습니다.
이와 같은 자료들을 참고하시면서 실전을 겸한 이해를 넓혀나가신다면, equals() 메서드의 목적과 구현 방법에 대해 더욱 명확한 관점을 가지실 수 있을 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
구현하지 않는 다는 전제에도 기본적으로 자바는 ==는 물리적 비교인 동일성, equals()는 논리적 비교인 동등성으로 보는거군요!
감사합니다 !