코테 공부/java
equals(), == 차이
sweet-po
2023. 5. 1. 19:31
equals() 는 메소드 (객체끼리 내용을 비교)
== 은 비교를 위한 연산자.
-주소값 비교와 내용 비교
비교할 수 있는 대상의 차이
equals 메소드는 비교하고자 하는 대상의 내용 자체를 비교하지만,
== 연산자는 비교하고자 하는 대상의 주소값을 비교.
CBV(Call By Value) 는 기본적으로 대상에 주소값을 가지지 않는 것으로
값을 할당받는 형태로 사용. 예를 들어 int, float, double, byte 등 primitive type.
CBR(Call By Reference) 는 대상을 선언했을 때, 주소값이 부여.
그래서 어떠한 객체를 불러왔을 때는 그 주소값을 불러. Class, Object(객체) 해당.
String a = "aaa111";
String b = a;
String c = new String ("aaa111");
a, b, c 모두 "aaa111" 라는 내용을 가지고 있지만 주소값에 대해서는 다른 값을 가지는 변수가 존재합니다.
a와 b는 같은 주소값의 "aaa111"
c는 다른 주소값의 "aaa111"
a.equals(b) true
a==b true
a==c false
a.equals(c) true