언어/자바
equals vs == 차이
Ch's Lee
2025. 6. 11. 14:55
== 는 주소 비교
equals 값 비교
사용자 정의 함수는 equals가 존재하지 않는다.
하지만, String, Integer에는 equals가 재정의 되어 있다.
우리가 직접 만든 Student s = new Student(); 는 안에 equals가 존재하지도 재정의 되지 않았다.
-> 재정의를 하지 않으면, 주소값만 따진다.(물리적 동일성) -> 재정의 후에는 논리적 동일성을 가진다.
- 논리적 동일성(값)을 비교한다.
[정리]
== 논리적으로 주소 값 비교...
하지만,
직접

|
// @Override
// public boolean equals(Object obj) { // if(obj instanceof _03_Student) { // _03_Student std = (_03_Student)obj; // if(this.studentId == std.studentId) // return true; // else return false; // } // return false; // } |
비교함...