티스토리 뷰

반응형

 

==과 equals의 비교
equals메서드의 재정의

※개념정리

 

Object클래스

1) java.lang 패키기에 포함되는 클래스

2) 모든 클래스의 상위 클래스 (자바 클래스 계층구조에서 상위)

 

2.equals( )메서드

=객체의 값을 비교하여 true/false 반환하는 메서드

 

equals( )메서드 구조

if(참조변수1.equals(참조변수2))

실행할 문장

else

실행할 문장

 

equals( )와 ==은 다르다.

객체의 값을 비교할때 ==의 경우 내용이 같아도 참조변수가 다르면 주소값이 다르기 때문에

다르다는 결과값을 도출한다.

그에 비해 equals는 내용이 같다면, 참조변수가 달라도 같다라는 결과값을 도출한다. 

 

equals( )메서드의 재정의

class Car {
private String model;  //필드
public Car(String model) {this.model=model;}  //생성자, 객체선언시 모델의 값도 선언해야 함
public boolean equals(Object obj) {  //'equals' 이름의 메소드 생성, 참조변수의 타입은 상위클래스
   if (obj instanceof Car) //Car클래스에 obj가 속해 있다면
     return model.equals(((Car) obj).model);

//equals()를 재정의 한다. String의 equals( )를 호출하여서 문자열이 동일한지 검사
  else
    return false;
}

댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함