Java
[Java 자바] equals
ChanPumpkin
2022. 9. 22. 22:38
Object equals
equals()의 실제 내용이다.
두 객체의 같고 다름을 참조변수의 값으로 판단하기 때문에, 서로 다른 두 객체를 equals()메서드로 비교하면 항상 false로 결과를 가져올 것이다.
한마디로, equals()는 두 인스턴스의 주소값을 비교하여 같은 인스턴스인지를 확인하고 같으면 true, 다르면 false의 boolean값을 리턴하는 메서드이다.
에? String으로 값을 비교할 때, true로 가져올 때는 뭐에요?
주소값을 비교할 때 사용하는 equals()라면서요..뭐지!?
String 클래스의 equals()는 오버라이딩 즉, 재정의가 되어있기 때문에 Object 클래스의 equal()와는 다르다.
- 객체가 자기 자신과의 주소값이 같으면 true를 리턴한다.
- 주소 값이 다르다면 Char 타입으로 하나하나 비교해서 같으면 true 다르면 false로 리턴한다.
String 클래스의 equals() 메소드는 비교하고자 하는 두개의 대상의 값 자체를 비교한다.
참고
• https://118k.tistory.com/458
• https://go-coding.tistory.com/35
• 자바의 정석 3rd Edition