값비교1 [Java] ==와 equals() 차이 == 은 스택의 값을 비교하고equals() 는 힙의 값을 비교한다. JVM 메모리 영역은 간략하게 메소드, 힙, 스택으로 나뉜다. 스택(Stack)원시 자료형과 참조 변수(+객체주소) 저장 힙(Heap)참조 변수의 실제 데이터와 객체 저장 String s1 = "KR", s2 = "KR";System.out.println(s1 == s2); // 스택 주소 동일 동일 값을 가리키기에System.out.println(s1.equarl(s2)); // 값 자체만 비교"KR"이 힙에 먼저 생성된 후, s1 변수가 스택에 생성되면 "KR"의 주소를 저장한다.다시 나오는 "KR"은 힙에 생성되어 있는지 조회하고, 이미 있으니 스택에 s2을 생성하고 "KR" 주소를 저장한다.s1와 s2 둘 다 힙에 있는 "KR.. 2024. 7. 30. 이전 1 다음 반응형