[Java] equals
·
TIL/Java
equals equals는 객체와 객체가 같은 것인지 비교하는 API이다. 객체 간에 같고 다름은 필요에 따라서 달라질 수 있기 때문이다. 아래 코드를 살펴보면 14행과 15행의 결과 값은 모두 false가 나온다. 14행이 false가 나오는 이유는 s1과 s2가 서로 다른 객체이기 때문이고 15행이 false가 나오는 이유는 객체 간 동일성이 같지 않기 때문이다. s1과 s2의 객체가 김탄이라는 값을 가지고 있기 때문에 저 두개의 객체가 같은 객체로 간주되길 바래 Object의 메소드 equals를 overriding하려고 한다. 아래 코드 중 9행 ~ 12행 코드는 (student)obj는 메소드 equals로 전달된 obj의 데이터 타입이 Object이기 때문에 이를 student 타입으로 강제 ..