equals vs == 차이

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;
// }

 

비교함...

'언어 > 자바' 카테고리의 다른 글

예외 처리 -- 2  (0) 2025.06.12
예외 처리  (0) 2025.06.11
Object 부모 클래스  (0) 2025.06.09
Iterator  (0) 2025.06.09
정보처리기사 실기 용어 정리  (0) 2025.06.06