생활
equals 메소드와 == 차이가 궁금합니다.
안녕하세요
비교 함수중 궁금한게 있어서 질문 드립니다.
String형 변수에 저장된 데이터 비교는 ==이 아니라 equals인데 왜 null값만큼은 ==로 비교하는건가요?
null도 객체형이라 들었습니다.
55글자 더 채워주세요.
2개의 답변이 있어요!
해당 질문의 경우 언어별로 처리 방법이 다르며, 앞선 코맨트에 언급하신 Java로 가정하고 답변드리겠습니다
우선 equals()는 String Class의 메소드이머
String 변수A = null; 인 경우, 해당 변수A의 Reference는 null이 됩니다.
이 경우 변수A.equals()는 String.equals()가 아닌 null.equals()와 같은 동작을 하게 되어 NullPointerException 이 발생되게 되므로 사용하실 수 없습니다.
null을 객체로 판단할수있는지 아닌지는 자세히는 모르겠으나, 뭐 구글링해봐도 맞다하는분도있고 아니다하는분도있고요.
하지만 질문에 하신 대답은 null 은 java의 키워드로써 equals를 제공하지 않기때문에 안되는 것이라고 할수있죠