[Python] None과 null 비교

KangHo Lee's avatar
May 29, 2025
[Python] None과 null 비교
파이썬의 None과 자바의 null"값이 없음"을 표현한다는 공통점이 있지만, 동작과 쓰임새 면에서는 차이점도 있습니다. 아래에서 비교해드릴게요.

🔍 개념 비교

구분
파이썬 None
자바 null
기본 의미
값이 없음을 의미
객체가 없음 (참조 없음)
타입
NoneType 객체
어떤 객체도 가리키지 않음
비교 방법
is None, == None
== null
함수 반환값
반환값이 없을 때 기본적으로 None
반환형이 void이면 반환값 없음

✅ 예제 비교

🔸 파이썬

x = None if x is None: print("값이 없습니다.")

🔸 자바

String x = null; if (x == null) { System.out.println("값이 없습니다."); }

🧠 주요 차이점 요약

항목
파이썬 (None)
자바 (null)
타입 자체
NoneType (하나의 객체)
아무 객체도 참조하지 않음 (타입 아님)
NullPointer 오류
없음 (None 접근해도 에러 메시지가 친절함)
NullPointerException 자주 발생 가능
함수의 반환값으로 사용
함수에서 반환값이 없으면 자동으로 None
void는 아예 반환값 없음, 아니면 null 명시 가능

🔚 결론

  • None은 파이썬에서 객체로 취급되며, 비교 시 보통 is None 사용
  • null은 자바에서 객체의 부재를 나타내며, 비교는 == null
  • 자바는 NullPointerException에 주의해야 하지만, 파이썬은 예외가 더 유연하고 설명도 자세한 편입니다.
 
Share article

devleekangho