ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Java] equals 메소드
    프로그래밍/JAVA 2022. 8. 2. 22:26
    728x90

     

     

    equals메소드는 java.lang 패키지 Object 클래스의 메소드로 객체를 비교하여 같을 경우 true를 다를 경우 false를 반환한다.

    class Test
    {
        public static void main(String[] args)
        {
            String test1 = new String("문자");
            String test2 = new String("문자");
            
            System.out.println(test1.equals(test2));      // true
        }
    }

     

    그럼 == 와 무슨 차이가 있을까?

    == 은 두 변수가 동일한 객체를 참조하는지 여부를 비교하는 것으로 아래 코드를 보면

    class Test
    {
        public static void main(String[] args)
        {
            String test1 = new String("문자");
            String test2 = new String("문자");
            
            System.out.println(test1 == test2);      // false
        }
    }

    두 객체를 새롭게 생성하여 다른 객체를 참조하기 때문에 false의 결과가 나온다.

     


    이제 조금 헷갈릴 수 있는 얘기를 해봅시다.

    리터럴 표기법으로 두 변수를 선언과 동시에 동일한 문자열 값을 지정해주면 어떻게 될까? 코드를 확인해보자.

    class Test
    {
        public static void main(String[] args)
        {
            String test1 = "문자";
            String test2 = "문자";
            
            System.out.println(test1 == test2);      // true
            System.out.println(test1.equals(test2));      // true
        }
    }

    이러한 경우에는 "문자"라는 하나의 객체에 두 변수가 참조하고 있는 그림으로 ==, equals 둘다 true인 결과를 반환한다.

     

     

     

     

    728x90

    '프로그래밍 > JAVA' 카테고리의 다른 글

    [Java] 반복문 for  (0) 2022.08.03
    [Java] 반복문 while  (0) 2022.08.03
    [Java] 조건문 switch  (0) 2022.08.02
    [Java] 조건문 if  (0) 2022.08.02
    [Java] Math 클래스  (0) 2022.08.01

    댓글

Designed by Tistory.