String s = "asdf"처럼 문자열 리터럴을 사용하는 경우 자바 컴파일러는 String Constant Pool이라는 영역에 같은 값의 문자열을 공유. 따라서 리터럴로 String s1 = "a"; String s2 = "a"로 선언할 경우 문자열이 같으므로 주소가 같음. 반면 String s = new String("asdf")는 새로운 객체를 힙 영역에 생성하므로 주소가 아예 다름 == 는 두 연산자의 주소(참조) 값이 같은지 확인. 따라서 내용물이 같더라도 주소가 다르면 같지않다고 표현s1.equals(s2)가 내용물 비교 어레이 사이즈는 array.length로 접근