package ex0723;

public class Ex01_override {
	public static void main(String[] args) {
		
		User1 ob1 = new User1("1001", "홍길동");
		User1 ob2 = new User1("1001", "홍길동");
		
		System.out.println( ob1 == ob2 ); // 주소를 비교(false)
		
		// User1에서 equals() 메소드를 재정의해서 학번과 이름이 동일하면 true를 반환
		System.out.println( ob1.equals(ob2)); //
		
	}
}
class User1 {
	private String hak;
	private String name;
	
	public User1() {
	}
	
	public User1(String hak, String name) {
		this.hak = hak;
		this.name = name;
	}
	
	public String getHak() {
		return hak;
	}
	
	public void setHak(String hak) {
		this.hak = hak;
	}
	
	public String getName() {
		return name;
	}
	
	public void setName(String name) {
		this.name = name;
	}

	// Object 클래스의 equals() 메소드를 재정의
	@Override
	public boolean equals(Object obj) {
		User1 u = (User1)obj; // Object 객체를 User1 객체로 다운 캐스팅
		
		return this.hak.equals(u.getHak()) && this.name.equals(u.getName());
	}
}

+ Recent posts