class INum {
private int num;
public INum(int num) {
this.num = num;
}
@Override
public boolean equals(Object obj) {
if(this.num == ((INum)obj).num)
return true;
else
return false;
}
}
public static void main(String[] args) {
INum num1 = new INum(10);
INum num2 = new INum(12);
INum num3 = new INum(10);
if(num1.equals(num2))
System.out.println("num1, num2 내용 동일하다.");
else
System.out.println("num1, num2 내용 다르다.");
if(num1.equals(num3))
System.out.println("num1, num3 내용 동일하다.");
else
System.out.println("num1, num3 내용 다르다.");
}
인스턴스의 내용 비교를 위한 기능을 equals 메소드에 담아 정의한다.
equals는 Object 클래스의 메소드이다.
public static void main(String[] args) {
String str1 = new String("So Simple");
String str2 = new String("So Simple");
// 참조 대상을 비교하는 if ~ else문
if(str1 == str2)
System.out.println("str1, str2 참조 대상 동일하다.");
else
System.out.println("str1, str2 참조 대상 다르다.");
// 두 인스턴스 내용 비교하는 if ~ else문
if(str1.equals(str2))
System.out.println("str1, str2 내용 동일하다.");
else
System.out.println("str1, str2 내용 다르다.");
}