728x90
null, 0, 그리고 "값이 없음"은 프로그래밍에서 자주 등장하지만, 헷갈리기 쉬운 개념들이죠. 그래서 이번엔 비유를 통해 쉽게 풀어볼게요.
🧠 개념 요약
개념의미비유
null | 값이 존재하지 않음 | 빈 의자 (아무도 앉아 있지 않음) |
0 | 값은 있음, 그 값이 0 | 의자에 앉은 사람이 "0원"을 가지고 있음 |
"" (빈 문자열) | 값은 있음, 내용이 없음 | 의자에 앉은 사람이 말은 했지만 아무 말도 하지 않음 |
undefined (JS 등) | 정의되지 않음 | 의자 자체가 아직 만들어지지 않음 |
🎭 비유로 풀어보는 차이점
📌 상황: 회의실에 의자와 참가자들이 있다고 상상해보세요.
- null: 의자가 있는데 아무도 앉아 있지 않음.
→ "이 자리에 누가 올지 모르지만, 지금은 비어 있어요." - 0: 의자에 사람이 앉아 있는데 그 사람이 가진 돈이 0원.
→ "사람은 있어요. 단지 가진 게 없을 뿐이에요." - 빈 문자열 "": 사람이 앉아 있는데 아무 말도 하지 않음.
→ "입은 열었지만 말은 안 했어요." - undefined (자바스크립트 등): 의자 자체가 아직 존재하지 않음.
→ "그 자리는 아직 만들지도 않았어요."
💡 프로그래밍에서의 실제 차이
표현의미연산 가능 여부
null | 값이 없음 (의도적 비어 있음) | ❌ 대부분 연산 불가 |
0 | 숫자 값 (값은 있음) | ✅ 연산 가능 |
"" | 빈 문자열 (값은 있음) | ✅ 문자열 연산 가능 |
undefined | 정의되지 않음 (JS 등) | ❌ 오류 발생 가능 |
📚 참고: 데이터베이스(DB)에서도
- 0은 "수입이 0원" → 실제로 아무것도 벌지 못함.
- null은 "수입이 기록되지 않음" → 아직 모름, 나중에 입력될 수도 있음.
이제 null과 0의 차이가 훨씬 명확해졌죠?
728x90
'1학년 대학 수업 > C++ 프로그래밍' 카테고리의 다른 글
C/C++의 자료형 순위 (0) | 2025.09.11 |
---|---|
문자와 문자열의 차이 (0) | 2025.09.11 |
이스케이프 시퀀스를 사용하는 프로그래밍 언어 (0) | 2025.09.11 |
C/C++ 리터럴의 대해 (0) | 2025.09.11 |
C/C++ 과 다른 언어의 예약어 비교 (0) | 2025.09.11 |