| "==" | equals() | 부가설명 |
| operator | method | Java에서 operator의 overriding은 불가능 |
| Object, Primitive 모두 비교 시 사용 가능 | Object 비교 시에만 사용 가능 | |
| 메모리 참조값 비교 | Object class에 정의된 비즈니스 로직대로 비교 | 만약 Object class의 equals 메소드를 overriding하지 않았다면 "=="와 같은 로직으로 비교를 한다. |
String이 같은 문자열을 가지고 있는지 판단할 때, 어떤 것을 사용해야 할까?
equals()를 사용해야 한다.
java.lang.String 클래스는 equals() 메소드를 overriding해 놓았기 때문에 문자열 내용이 같으면 true를 반환한다. 하지만 "=="을 사용할 경우, 같은 내용의 문자열을 가리키고 있더라도 같은 메모리를 참조하고 있어야만 true를 반환한다.
댓글 없음:
댓글 쓰기