본문 바로가기
IT 공부/JAVA

[API]equals()

by Thinker 2021. 1. 15.
반응형

두 객체를 동등 비교할때 사용하는 메소드

equals를 재정의하기 전에 같은 타입인지 먼저 확인해주어야 한다. (*instanceof 연산자)

package api.practice;

public class equals {

	
	public String id;
	public equals(String id) {
		this.id = id;
	}
	
	@Override
	public boolean equals(Object obj) {
		if(obj instanceof equals) {
			equals member = (equals)obj;
			if(id.equals(member.id)) {
				return true;
			}
		}
		return false;
	}
	

}

먼저 id를 String으로 정의했고, equals의 id를 재정의했다.

그 후 Object의 obj (왜 이렇게 작성했는지 의문) 를 만들었고 equals의 memeber로 강제 타입변환한다. 그후 만약 equals 가 맞으면 true를 return 한다.

 

 

package api.practice;

public class equalstest {

	public static void main(String[] args) {

		equals obj1 = new equals("blue");
		equals obj2 = new equals("yellow");
		equals obj3 = new equals("black"); 
		
		if(obj1.equals(obj2)) {
			System.out.println("obj1 과  obj2는 동일합니다");
		} else {
			System.out.println("obj1 과 obj2는 동일하지 않습니다");
		}
		
		
	}

}

새로운 생성자를 생성한 뒤 if 문으로 equals를 실행시킨다.

obj1. equals(obj2)

 

 

 

▼console

obj1 과 obj2는 동일하지 않습니다
반응형

'IT 공부 > JAVA' 카테고리의 다른 글

[코딩테스트] Lv1.같은 숫자는 싫어  (0) 2022.09.05
[코딩테스트] Lv1. 신고결과 받기  (0) 2022.08.29
[예외]Try-catch-finally  (0) 2021.01.12
[예외]NumberFormatException  (0) 2021.01.12
[예외]arrayIndexOutofBoundsException  (0) 2021.01.11

댓글