기본 타입(Primitive Type)은 변수의 값(value)을 저장하는 변수이다.
기본 타입 변수의 비교에 사용한다. 두 변수의 값이 같은지를 평가한다.
예를 들어, 두 개의 int 변수가 각각 100과 100의 값을 가진다면, 이들을 == 연산자로 비교했을 때 true를 반환한다. 왜냐하면, 두 변수의 값이 메모리상에서 실제로 같기 때문
// a, b는 모두 100이라는 값을 참조한다.
int a = 100;
int b = 100;
System.out.println(a == b); // true
== 연산자는 두 객체의 참조(메모리상의 주소)가 같은지를 비교한다.== 연산자는 false를 반환한다.equals() 메서드를 사용하여 객체의 내용을 비교한다.참조 타입(Reference Type)은 변수의 메모리 주소(address)를 참조하는 변수이다.
null 값을 가진다.[]를 붙여서 정의참조 타입 변수의 비교에 사용한다.
equals() 메서드는 두 객체의 참조가 같은지(동일한 객체인지)를 비교하도록 되어있다.Object 클래스에 정의된 equals() 메서드를 모든 클래스가 상속받는다.(Object 클래스가 모든 클래스의 부모이기 때문에)equals() 메서드를 오버라이드(재정의)하여 객체의 상태(인스턴스 변수의 값)를 비교하는 방식으로 구현한다.// a와 b는 다른 주소를 가리킨다.(서로 다른 객체이다.)
String a = new String("홍길동");
String b = new String("홍길동");
System.out.println(a == b); // false
System.out.println(a.equals(b)); // true