그냥 equals 쓰면 오브젝트 같은지를 확인하니깐 너님이 코딩한 Box 오브젝트가 동일할 조건을 따로 오버로딩 하지 않으면 틀리다고 나오지
ㄱㅁㄱㅁ(211.212)2014-10-05 21:52
Box classObj1 = new Box(); Box classObj2 = classObj2; 이렇게 해놓고 equals 쓰면 true 나올거심
ㄱㅁㄱㅁ(211.212)2014-10-05 21:53
equals 메서드는 참조형변수값이 일치하는지 검사함.. 변수에 저장된 주소값을 검사하니깐 객체주소가 다르면 각각 다른 객체에 있는 변수값이 같더라도 값은 false로 나옴
ㅁㅍ(218.153)2014-10-05 21:54
equals가 문자열에 쓰일 때는 내용까지 확인해주던데
가비지(220.69)2014-10-05 21:55
String 클래스말하는거? String은 좀 특별함 문자열을 저장하는 공간이 따로 있어서 새로 String a = "ㅁㅍ짱"; 이라고 변수를 선언했어도 문자열 저장공간에서 "ㅁㅍ짱" 이라는 문자열이 존재하는지 검사하고 만약 있다면 그 문자열 주소값을 참조변수값에 넣어버림. 그런데 new String("ㅁㅍ짱"); 이라고 new 연산자 써서 메모리를 새로 할당해주고 검사하면 주소가 다르기땜에 값이 같더라도 그땐 false 뜰거임.
ㅁㅍ(218.153)2014-10-05 21:58
신기하죠 재밌죠 자바!! 하하하하
ㅁㅍ(218.153)2014-10-05 21:59
위에 문자열 저장공간이라 했는데 그게 아니고 상수풀 이라고 함
ㅁㅍ(218.153)2014-10-05 22:02
젖같네 자바...
호석(hoseok)2014-10-05 22:03
ㅁㅍ // ==는 그렇게 되는데 equals가 문자열 비교에서는 주소 자체가 달라도 내용을 보았는데 흠... 클래스 객체는 복잡해서 그런가?
그냥 equals 쓰면 오브젝트 같은지를 확인하니깐 너님이 코딩한 Box 오브젝트가 동일할 조건을 따로 오버로딩 하지 않으면 틀리다고 나오지
Box classObj1 = new Box(); Box classObj2 = classObj2; 이렇게 해놓고 equals 쓰면 true 나올거심
equals 메서드는 참조형변수값이 일치하는지 검사함.. 변수에 저장된 주소값을 검사하니깐 객체주소가 다르면 각각 다른 객체에 있는 변수값이 같더라도 값은 false로 나옴
equals가 문자열에 쓰일 때는 내용까지 확인해주던데
String 클래스말하는거? String은 좀 특별함 문자열을 저장하는 공간이 따로 있어서 새로 String a = "ㅁㅍ짱"; 이라고 변수를 선언했어도 문자열 저장공간에서 "ㅁㅍ짱" 이라는 문자열이 존재하는지 검사하고 만약 있다면 그 문자열 주소값을 참조변수값에 넣어버림. 그런데 new String("ㅁㅍ짱"); 이라고 new 연산자 써서 메모리를 새로 할당해주고 검사하면 주소가 다르기땜에 값이 같더라도 그땐 false 뜰거임.
신기하죠 재밌죠 자바!! 하하하하
위에 문자열 저장공간이라 했는데 그게 아니고 상수풀 이라고 함
젖같네 자바...
ㅁㅍ // ==는 그렇게 되는데 equals가 문자열 비교에서는 주소 자체가 달라도 내용을 보았는데 흠... 클래스 객체는 복잡해서 그런가?