Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 레디스
- 가상 면접 사례로 배우는 대규모 시스템 설계 기초
- 자바의 정석
- NoSQL
- in-memory
- github
- spring security
- 실행 컨텍스트
- Redis
- document database
- sqld
- JPA
- 영속성 컨텍스트
- 깃허브
- 캐시
- 호이스팅
- 정처기
- 다이나믹프로그래밍
- 스프링 시큐리티
- 정보처리기사
- 이벤트루프
- 스프링부트
- 동적계획법
- VMware
- Spring Boot
- 분할정복
- 게시판
- 스프링 부트
- MongoDB
- SQL
Archives
- Today
- Total
FreeHand
equals() 오버라이딩 본문
public class Main {
public static void main(String[] args) {
Value v1 = new Value(10);
Value v2 = new Value(10);
if(v1.equals(v2))
System.out.println("v1과 v2는 같습니다.");
else
System.out.println("v1과 v2는 다릅니다.");
}
}
class Value {
int value;
Value(int value) {
this.value = value;
}
public boolean equals(Object obj) { // 객체 주소 비교
return this==obj;
}
}
// v1과 v2는 다릅니다.
public class Main {
public static void main(String[] args) {
Value v1 = new Value(10);
Value v2 = new Value(10);
if(v1.equals(v2))
System.out.println("v1과 v2는 같습니다.");
else
System.out.println("v1과 v2는 다릅니다.");
}
}
class Value {
int value;
Value(int value) {
this.value = value;
}
public boolean equals(Object obj) {
if(obj instanceof Value) { // obj는 모든 객체가 들어올 수 있으므로 Value 객체인지 확인
// 형변환 필요. obj에는 value 변수가 없음
// 객체 주소가 아닌 인스턴스 변수(value)를 비교
return this.value == ((Value)obj).value;
} else {
return false;
}
}
}
// v1과 v2는 같습니다.
'Language > Java' 카테고리의 다른 글
Generics (0) | 2023.08.01 |
---|---|
[기타] 문자열 붙이기(repeat) (0) | 2023.07.12 |
String 클래스 메서드 (0) | 2023.06.28 |
Iterator / ListIterator / Enumeration (0) | 2023.06.25 |
예외 처리 (0) | 2023.06.25 |