정보처리기사 단골주제 정리
==와 equals
초코너무조코
2025. 4. 18. 11:01
728x90
✅ ==
- 비교 대상: 객체의 참조(reference) 를 비교
- 설명: 두 객체가 같은 메모리 주소(= 같은 인스턴스) 를 가리키는지를 확인
- 기본형(primitive) 타입에서는 실제 값을 비교
String a = new String("hello");
String b = new String("hello");
System.out.println(a == b); // false → 서로 다른 객체를 참조
✅ .equals() 메서드
- 비교 대상: 객체의 내용(값) 을 비교
- 설명: 두 객체가 논리적으로 같은지를 판단
- String, Integer 등 대부분의 클래스는 .equals() 를 오버라이딩해서 내용 비교가 되도록 정의돼 있음
System.out.println(a.equals(b)); // true → 문자열 내용이 같음
🔎 예제 정리
String x = "apple";
String y = "apple";
String z = new String("apple");
System.out.println(x == y); // true → 리터럴은 같은 참조
System.out.println(x == z); // false → new로 만든 객체는 별도 주소
System.out.println(x.equals(z)); // true → 문자열 내용 같음
🔥 핵심 요약
구분 | == | .equals() |
비교 대상 | 참조(주소) | 실제 값(내용) |
기본형 | 값 비교 | 사용 불가 |
객체형 | 같은 인스턴스인지 | 같은 내용을 가지는지 |
오버라이딩 | 불가능 | 가능 (많이 씀) |
728x90