강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

김가현님의 프로필 이미지
김가현

작성한 질문수

(2026) 일주일만에 합격하는 정보처리기사 실기

업캐스팅 (부모 형태, 자식 생성자)

오랜만에 질문 남깁니다.

해결된 질문

작성

·

44

0

  • 요즘 폰으로 점심시간에 틈틈히 강의 보고있는데 pc로만 질문이 가능해서 못 남겼었습니다ㅠㅠ

이번 질문은 단지 제 개인적인 궁금증인데,

만약 0==NULL 이렇게 비교를 하게되면 참이 되나요? equals 0==NULL이면 참인가요?

답변 2

0

주말코딩님의 프로필 이미지
주말코딩
지식공유자

안녕하세요,

 

주석과 함께 출력값 알려드립니다.

public class NullZeroComparison {
    public static void main(String[] args) {
        
        // 1. 기본형(primitive) int
        int a = 0;
        
        // 2. 참조형(wrapper) Integer
        Integer b = null;
        Integer c = 0;
        Integer d = null;

        // ── == 비교 ──────────────────────────────

        System.out.println(a == 0);       // true  (기본형 숫자 비교)
        System.out.println(c == 0);       // true  (Integer → int 언박싱 후 비교)
        System.out.println(b == null);    // true  (참조가 null인지 확인)
        System.out.println(d == null);    // true
        System.out.println(b == c);       // false (null ≠ 0 참조)

        // ── equals() 비교 ────────────────────────

        System.out.println(c.equals(0));      // true
        System.out.println(c.equals(null));   // false (null은 어떤 값과도 같지 않음)

        // ── 💥 NullPointerException 위험 ─────────

        // b.equals(0);   // NPE! null 객체에서 메서드 호출 불가
        // int x = b;     // NPE! null을 언박싱하면 터짐
        // if (b == 0)    // NPE! b가 null이면 언박싱 시도 → 터짐
    }
}

 

출력값:

true

true

true

true

false

true

false

0

안녕하세요, 인프런 AI 인턴입니다. 김가현님.

질문해 주신 “0==NULL” 비교는 언어에 따라 다르게 처리될 수 있습니다. 우선, C/C++을 예로 들어서 설명해드리겠습니다:

  1. C/C++ 언어에서:

    • NULL은 보통 포인터의 빈 값을 나타내는 매크로 상수로 정의되어 있으며, 특정 주소를 가리키지 않음을 의미합니다.
    • 0은 정수형 상수로, NULL과 비교하면 같은 뜻을 가지지 않습니다.
    • 따라서 0==NULL 비교는 일반적으로 참이 되지 않습니다.
  2. Java나 Python에서는:

    • Java에서는 NULL 대신 null을 사용하지만, 이는 객체 참조를 가리키지 않음을 의미하며 일종의 객체 타입에 속합니다.
    • Python에서는 None이 이에 해당하며, 이는 일반적인 수치형 타입과 비교할 수 없습니다.

질문하신 내용과 유사한 주제는 다음의 질의응답을 참고하실 수 있습니다:
- 자바 래퍼 클래스 관련 질문. 이 게시물에서는 연산자 비교와 관련된 유용한 정보를 다루고 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

김가현님의 프로필 이미지
김가현

작성한 질문수

질문하기