JAVA/JAVA 공부

[java] "equals의 재정의"에서 String과 그 외 자료형 설정

728x90
반응형
public boolean equals(Object obj) {
	//자료형은 Object이지만 전달받는 데이터는 car형이기 때문에 다운캐스팅해준다.
	Car car = (Car) obj;
	
	//여기에서 사용되는 equals는 Object에 정의된게 아니라 String에 오버라이징된 equals이기 때문에 
	//String자료형에서는 예외적으로 주소가 아닌 문자열을 비교할 수 있다.
	if (this.name.equals(car.name) //--> String의 equals
			&& this.color.equals(car.color) 
			&& this.direction == car.direction //--> Object의 equals
			&& this.speed == car.speed) {
		return true;
	}else {
		return false;
	}
		
}
728x90
반응형