String.equals()
![[Java] 문자열 비교 ==, equals() 차이점](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fz8Mab%2FbtrLjjl7own%2FAAAAAAAAAAAAAAAAAAAAAEm6UrSpB1kK84UacuTPDj45bp2q2hT6t045yC0lIxcv%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1759244399%26allow_ip%3D%26allow_referer%3D%26signature%3DZ%252FevX4nNUSpKhL%252F9AawQJYE6X8I%253D)
[Java] 문자열 비교 ==, equals() 차이점
예전에 알고리즘을 푸는 도중, String 변수를 무심코 == 연산자를 사용해 비교해 동작하지 않았던 경험이 있다. 물론 equals() 함수를 사용하니 잘 동작했는데, 그동안 이 둘의 차이가 뭔지 정확히 이해하고 있지 않았던 것 같아서 정리하려고 한다. Java에서는 int와 boolean과 같은 일반적인 데이터 타입의 비교는 == 연산자를 사용해서 비교한다. 하지만 String같이 Class의 값을 비교할 때는 == 가 아닌 equals()라는 메소드를 사용하여 비교를 해야한다. 이 둘의 차이는 뭘까? String 변수 생성 시 주소할당 String 변수를 생성할 때는 두가지 방법이 있다. 리터럴을 이용한 방식 new 연산자를 이용한 방식 위 두 가지 방식에는 큰 차이점이 있는데, 리터럴을 사용하게 ..