String.equals()

    [Java] 문자열 비교 ==, equals() 차이점

    [Java] 문자열 비교 ==, equals() 차이점

    예전에 알고리즘을 푸는 도중, String 변수를 무심코 == 연산자를 사용해 비교해 동작하지 않았던 경험이 있다. 물론 equals() 함수를 사용하니 잘 동작했는데, 그동안 이 둘의 차이가 뭔지 정확히 이해하고 있지 않았던 것 같아서 정리하려고 한다. Java에서는 int와 boolean과 같은 일반적인 데이터 타입의 비교는 == 연산자를 사용해서 비교한다. 하지만 String같이 Class의 값을 비교할 때는 == 가 아닌 equals()라는 메소드를 사용하여 비교를 해야한다. 이 둘의 차이는 뭘까? String 변수 생성 시 주소할당 String 변수를 생성할 때는 두가지 방법이 있다. 리터럴을 이용한 방식 new 연산자를 이용한 방식 위 두 가지 방식에는 큰 차이점이 있는데, 리터럴을 사용하게 ..