문제 설명

주어진 코드에서 str1과 str2은 모두 "Hello World"라는 값을 저장하는 변수입니다. 둘은 사람이 보기엔 완전히 똑같지만, java는 둘을 다르다고 판단합니다.

주어진 코드는 equal operator == 로 두 변수를 비교합니다. 코드를 실행해 java가 str1과 str2을 다르다고 판단하는 것을 확인해보세요.

답을 모르겠나요?[1]


각 인스턴스가 같은 값을 저장한다고 해서 두 인스턴스가 같은 건 아닙니다.

String str1 = new String("hello");
String str2 = new String("hello");

위 코드에서 str1은 new를 통해 만든 새로운 인스턴스를, str2 또한 new를 통해 만든 새로운 인스턴스를 참조합니다. 두 인스턴스가 저장하는 값은 같지만 str1과 str2는 서로 다릅니다.

[1]: 이 실습에서는 코드를 실행만 하면 무조건 정답이라고 판단합니다. 아무것도 안했는데 정답이라고 판단한다고 당황하지 마세요. 😀

실행 결과 실행 중지