본문으로 바로가기
COMMUNITY모든 이야기

Java에서 String 비교할 때 == 쓰면 왜 false가 나오나요?

빗방울 2026.10.30 12:45 2분 읽기 조회 6

면접 준비하면서 기초 공부 중인데, 두 문자열이 똑같은지 확인하는 코드를 짜고 있습니다. 변수에 들어있는 값이 분명히 같은데 결과가 이상하게 나와서 질문 올립니다.

코드:

public class Main {
    public static void main(String[] args) {
        String str1 = new String("Hello");
        String str2 = new String("Hello");

        if (str1 == str2) {
            System.out.println("같습니다");
        } else {
            System.out.println("다릅니다");
        }
    }
}

오류: 다릅니다

시도: str1과 str2에 둘 다 "Hello"라고 똑같이 입력했고, 오타가 없는지 여러 번 확인했습니다.

질문: 화면에 출력해 보면 둘 다 Hello라고 나오는데 왜 == 연산자로 비교하면 다르다고 나오는지 알려주세요.

모든 이야기1455

가벼운 안부부터 깊은 생각까지, 함께 나눠요.

글쓰기
총 1455개의 이야기
댓글