[One Day One Question]
동일성과 동등성에 대해 설명해 주세요.
1. 동일성 (Identity)
- 정의: 동일성은 두 객체가 같은 메모리 주소를 참조하고 있는지를 확인합니다.
- 비교 방법: == 연산자를 사용합니다.
- 사용 예:
- 동일성은 객체가 같은 인스턴스인지 확인하는 데 사용됩니다.
public class IdentityExample {
public static void main(String[] args) {
String str1 = new String("Hello"); // 새로운 String 객체 생성
String str2 = new String("Hello"); // 또 다른 String 객체 생성
String str3 = str1; // str3은 str1과 동일한 참조
System.out.println(str1 == str2); // false (서로 다른 객체 참조)
System.out.println(str1 == str3); // true (같은 객체를 참조)
}
}
2. 동등성 (Equality)
- 정의: 동등성은 두 객체의 값이 같은지를 확인합니다.
- 비교 방법: equals() 메서드를 사용합니다.
- 사용 예:
- 동등성은 객체의 내용이나 속성이 같은지 확인할 때 사용됩니다.
- 특히, String, Integer 등과 같은 클래스는 equals()를 재정의하여 값 비교를 수행합니다.
public class EqualityExample {
public static void main(String[] args) {
String str1 = new String("Hello");
String str2 = new String("Hello");
System.out.println(str1.equals(str2)); // true (내용이 같음)
}
}
'cs > ODOQ' 카테고리의 다른 글
[ODOQ] 동기(Synchronous), 비동기(Asynchronous) (0) | 2024.12.17 |
---|---|
[ODOQ] JPA ID 생성 전략 (2) | 2024.12.06 |
[ODOQ] 로그와 메트릭 (1) | 2024.12.03 |
[ODOQ] 얕은 복사 깊은 복사 (0) | 2024.12.02 |
[ODOQ] 트랜잭션 격리수준 (0) | 2024.11.29 |