아하
생활

생활꿀팁

대담한황로142
대담한황로142

equals 메소드와 == 차이가 궁금합니다.

안녕하세요

비교 함수중 궁금한게 있어서 질문 드립니다.

String형 변수에 저장된 데이터 비교는 ==이 아니라 equals인데 왜 null값만큼은 ==로 비교하는건가요?

null도 객체형이라 들었습니다.

55글자 더 채워주세요.
2개의 답변이 있어요!
  • 큰닭236
    큰닭236

    해당 질문의 경우 언어별로 처리 방법이 다르며, 앞선 코맨트에 언급하신 Java로 가정하고 답변드리겠습니다

    우선 equals()는 String Class의 메소드이머

    String 변수A = null; 인 경우, 해당 변수A의 Reference는 null이 됩니다.

    이 경우 변수A.equals()는 String.equals()가 아닌 null.equals()와 같은 동작을 하게 되어 NullPointerException 이 발생되게 되므로 사용하실 수 없습니다.

  • null을 객체로 판단할수있는지 아닌지는 자세히는 모르겠으나, 뭐 구글링해봐도 맞다하는분도있고 아니다하는분도있고요.

    하지만 질문에 하신 대답은 null 은 java의 키워드로써 equals를 제공하지 않기때문에 안되는 것이라고 할수있죠