Primitive Type(기본형)은 실제값을 스텍 메모리에 저장하기 때문에 == 을 이용해서 값을 비교할 수 있다. 하지만 기본형이 아닌 Reference Type(참조형)은 실제값을 저장하는 것이 아니라 주소값을 힙 메모리에 저장한다. 리터럴 방식을 사용하면 String constant pool에 값이 저장되었는지 확인하고 있다면 기존 주소값을 반환, 없으면 새로운 주소값은 반환한다. new 연산자를 이용하면 해당값을 새로운 주소값에 저장하여 주소값을 반환한다. 그렇기 때문에 ==을 통해서 비교하면 주소값을 비교하게되고 실제값이 같다고 해도 false를 반환할 수 있다. equals 메서드를 통해 주소값이 아닌 실제값을 비교해야 기대하는 결과를 얻을 수 있다. String a = "asdf"; //리..