1학년 대학 수업/C++ 프로그래밍

null과 0의 차이

hawon6691 2025. 9. 11. 15:31
728x90

null, 0, 그리고 "값이 없음"은 프로그래밍에서 자주 등장하지만, 헷갈리기 쉬운 개념들이죠. 그래서 이번엔 비유를 통해 쉽게 풀어볼게요.


🧠 개념 요약

개념의미비유

null 값이 존재하지 않음 빈 의자 (아무도 앉아 있지 않음)
0 값은 있음, 그 값이 0 의자에 앉은 사람이 "0원"을 가지고 있음
"" (빈 문자열) 값은 있음, 내용이 없음 의자에 앉은 사람이 말은 했지만 아무 말도 하지 않음
undefined (JS 등) 정의되지 않음 의자 자체가 아직 만들어지지 않음

🎭 비유로 풀어보는 차이점

📌 상황: 회의실에 의자와 참가자들이 있다고 상상해보세요.

  • null: 의자가 있는데 아무도 앉아 있지 않음.
    → "이 자리에 누가 올지 모르지만, 지금은 비어 있어요."
  • 0: 의자에 사람이 앉아 있는데 그 사람이 가진 돈이 0원.
    → "사람은 있어요. 단지 가진 게 없을 뿐이에요."
  • 빈 문자열 "": 사람이 앉아 있는데 아무 말도 하지 않음.
    → "입은 열었지만 말은 안 했어요."
  • undefined (자바스크립트 등): 의자 자체가 아직 존재하지 않음.
    → "그 자리는 아직 만들지도 않았어요."

💡 프로그래밍에서의 실제 차이

표현의미연산 가능 여부

null 값이 없음 (의도적 비어 있음) ❌ 대부분 연산 불가
0 숫자 값 (값은 있음) ✅ 연산 가능
"" 빈 문자열 (값은 있음) ✅ 문자열 연산 가능
undefined 정의되지 않음 (JS 등) ❌ 오류 발생 가능

📚 참고: 데이터베이스(DB)에서도

  • 0은 "수입이 0원" → 실제로 아무것도 벌지 못함.
  • null은 "수입이 기록되지 않음" → 아직 모름, 나중에 입력될 수도 있음.

이제 null과 0의 차이가 훨씬 명확해졌죠?

728x90