목록equals() (2)
개발 무지렁이

Set 중복체크 먼저, hashCode()를 호출해서 리턴값이 다르면 다른 객체로 인식하고, hashCode() 리턴값이 같으면 equals()를 호출해서 true이면 같은 객체, false이면 다른 객체로 인식 [Member.java] public class Member { private String name; private int age; private String addr; public Member() {} public Member(String name, int age, String addr) { this.name = name; this.age = age; this.addr = addr; } public String getName() { return name; } @Override public in..

String은 상수이다. 한 번 만들어지면 값변경이 불가, immutable String str = "java"; str = "java2"; ❓ 위의 코드는 정상적으로 실행된다. WHY? 값변경을 하는게 아니라 새로운 객체가 만들어진다. 수정 전의 객체는 garbage collection이 일어난다. String str = new String("java"); String str = "java"; 는 축약표현이다. 사실은 '객체생성연산자(new)'를 통해 객체를 생성하는 것이다. ❗ 주의 new 키워드 없이 할당한 값이 이미 있으면 같은 주소를 저장한다. String str1 = "java"; String str2 = new String("java"); String str3 = "java"; str1 ==..