package com.test; public class Person { String name; int age; public Person(String name, int age) { this.name = name; this.age = age; } // Overriding public boolean equals(Object obj){ boolean result = false; Person p =(Person)obj; if(p.name.equals(name) && p.age == age){ result = true; } return result; } // Overriding public String toString(){ return name + " : " + age; } }
package com.test;
public class ExamEx01 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int num = 2; int num2 = 2; if (num == num2) System.out.println("num과 num2가 같다"); // String 객체형 자료 // 1. 주소 == // 2. 내용값 equals String name = "홍길동"; String name2 = "홍길동"; if(name.equals (name2) ) System.out.println("name과 name2가 같다"); // 객체 변수를 출력하면 // 객체변수.toString() : 참조주소 // 자료형@주소 // String의tostring(Overriding - 객체 내부의 데이터) System.out.println(name.hashCode( )); System.out.println(name2.hashCode( )); Person p1 = new Person("홍길동",11); Person p2 = new Person("홍길동",11); if (p1 == p2){ System.out.println("p1과 p2가 같다"); }else{ System.out.println("p1과 p2가 다르다"); System.out.println(p1.toString()); System.out.println(p2.toString()); System.out.println(p1); System.out.println(p2); } if (p1.equals (p2) ){ System.out.println("p1과 p2가 같다"); }else{ System.out.println("p1과 p2가 다르다"); } } }
num과 num2가 같다 name과 name2가 같다 54150062 54150062 p1과 p2가 다르다 홍길동 : 11 홍길동 : 11 홍길동 : 11 홍길동 : 11 p1과 p2가 같다