==연산자와 equals의 차이

강9·2023년 11월 28일
1

Java

목록 보기
18/71
post-thumbnail

🔖 ==연산자와 equals()메서드의 차이점

==연산자 : 비교하는 두 대상의 주소값을 비교
equals : (대소문자 구분) String 클래스의 equals() 메서드는 비교하는 두 대상의 을 비교
equalsIgnoreCase: (대소문자 구분X) String 클래스의 equals() 메서드는 비교하는 두 대상의 을 비교

==연산자equals
비교방식주소값 : 주소값값 : 값

✅ 간단 설명

1️⃣ int, char...(기본자료형_PDT) : Call by Value 형태

기본적으로 대상에 주소값을 가지지 않는 형태로 사용된다.

2️⃣ String( : Call by Reference 형태

클래스는 기본적으로 객체 생성 시 주소값이 부여된다.
그렇기에 String 타입을 선언했을 때는 같은 값을 부여하더라도 서로의 주소값이 다르다. (String은 기본타입이 아닌 클래스이기 때문)
💡 따라서 문자열 데이터의 값을 비교하기 위해선 "==연산자" 가 아닌 "equals"를 사용해야 한다.


🔖 equals 사용 예제)

public static void main(String[] args) {
        int a = 1;
        int b = 3;
        int c = 2;
        int d = 2;
        System.out.println(a==b ? true : false); // false
        System.out.println(c==d ? true : false); // true
        
        String s1 = "Hello";
        String s2 = "Hi";
        String s3 = "Yes";
        String s4 = "Yes";
        System.out.println(s1.equals(s2)); // false
        System.out.println(s3.equals(s4)); // true
    }
profile
코린이 일기

0개의 댓글