πŸ“• [JAVA] μ›μ‹œνƒ€μž…(Primitive Type) vs μ°Έμ‘°νƒ€μž…(Reference Type)

μ–‘μ•„Β·2021λ…„ 9μ›” 7일
1

JAVA

λͺ©λ‘ 보기
1/2
post-thumbnail

μ›μ‹œνƒ€μž…κ³Ό μ°Έμ‘°νƒ€μž… 이 두 κ°€μ§€μ˜ 차이점을 λͺ…ν™•νžˆ λͺ°λΌμ„œ ν—·κ°ˆλ Έλ˜ κ²½ν—˜μ΄ μžˆλ‹€.🀣
λͺ…ν™•ν•˜κ²Œ μ •λ¦¬ν•˜μ—¬ λ‚˜ 뿐 μ•„λ‹ˆλΌ, λ‚˜μ²˜λŸΌ λͺ…ν™•ν•˜κ²Œ μ•Œκ³  싢은 μ‚¬λžŒλ“€μ„ μœ„ν•΄ μ •λ¦¬ν•΄λ³΄λŠ” 글이닀.


JAVAμ—μ„œλŠ” λ³€μˆ˜λ₯Ό μ„ μ–Έν•  λ•Œ κ·Έ λ³€μˆ˜μ— ν•΄λ‹Ήν•˜λŠ” 이름 뿐 μ•„λ‹ˆλΌ 데이터 νƒ€μž…κΉŒμ§€ λ°˜λ“œμ‹œ ν•„μš”ν•˜λ‹€.
μ—¬κΈ°μ„œ μ‚¬μš©ν•˜λŠ” 데이터 νƒ€μž…μ€ 크게 두 κ°€μ§€λ‘œ λ‚˜λ‰˜λŠ”λ°, λ°”λ‘œ μ›μ‹œνƒ€μž…κ³Ό μ°Έμ‘°νƒ€μž…μ΄λ‹€.

🧐 μ›μ‹œνƒ€μž…(Primitive Type)μ΄λž€β“

μ›μ‹œνƒ€μž…μ€ μ •μˆ˜, μ‹€μˆ˜, 문자, 논리 λ¦¬ν„°λŸ΄λ“±μ˜ μ‹€μ œ 데이터 값을 'μŠ€νƒ' λ©”λͺ¨λ¦¬μ— κ·ΈλŒ€λ‘œ μ €μž₯ν•˜λŠ” νƒ€μž…μ΄λ‹€.

🧐 μ°Έμ‘°νƒ€μž…(Reference Type)μ΄λž€β“

μ°Έμ‘°νƒ€μž…μ€ 객체의 λ©”λͺ¨λ¦¬ μ£Όμ†Œκ°’μ„ μ°Έμ‘°ν•˜λŠ” νƒ€μž…μ΄λ‹€.
즉, μ°Έμ‘°νƒ€μž…μ€ ν•˜λ‚˜μ˜ μΈμŠ€ν„΄μŠ€μ΄κΈ° λ•Œλ¬Έμ— 'μŠ€νƒ' λ©”λͺ¨λ¦¬μ—λŠ” μ°Έμ‘°κ°’(μ£Όμ†Œκ°’)만 μ‘΄μž¬ν•˜κ³  μ‹€μ œ 값은 'νž™' λ©”λͺ¨λ¦¬μ— μ‘΄μž¬ν•˜κ²Œ λœλ‹€.


μ›μ‹œνƒ€μž…κ³Ό μ°Έμ‘°νƒ€μž…μ˜ κΈ°λŠ₯적 μ°¨μ΄λŠ” λ¬΄μ—‡μΌκΉŒ?
κΈ°λŠ₯적 μ°¨μ΄λŠ” NULL을 담을 수 μžˆλŠ”μ§€ 여뢀와 μ œλ„€λ¦­ νƒ€μž…μ—μ„œμ˜ μ‚¬μš© κ°€λŠ₯ μ—¬λΆ€λ‘œ λ‚˜λˆ λ³Ό 수 μžˆλ‹€.

πŸ“Œ μ›μ‹œνƒ€μž…κ³Ό μ°Έμ‘°νƒ€μž…μ˜ κΈ°λŠ₯적 차이

🎨 NULL을 담을 수 μžˆλŠ”μ§€β“
Β -> μ›μ‹œνƒ€μž…μ€ λΆˆκ°€λŠ₯ν•˜μ§€λ§Œ μ°Έμ‘°νƒ€μž…μ€ κ°€λŠ₯ν•˜λ‹€.

🎨 μ œλ„€λ¦­ νƒ€μž…μ—μ„œμ˜ μ‚¬μš© κ°€λŠ₯ν•œμ§€β“
Β -> μ›μ‹œνƒ€μž…μ€ λΆˆκ°€λŠ₯ν•˜μ§€λ§Œ μ°Έμ‘°νƒ€μž…μ€ κ°€λŠ₯ν•˜λ‹€.

그럼 μ—¬κΈ°μ„œ κΆκΈˆν•œ 점이 ν•˜λ‚˜ 생긴닀.
μ›μ‹œνƒ€μž…μ€ NULL도 담지 λͺ»ν•˜κ³ , μ œλ„€λ¦­ νƒ€μž…μ—μ„œ μ‚¬μš©ν•˜μ§€ λͺ»ν•˜λŠ”데 μ‚¬μš©ν•˜κΈ΄ ν•˜λŠ”κ±ΈκΉŒ?
μ‚¬μš©ν•œλ‹€λ©΄ μ–Έμ œ, μ™œ 무슨 이유둜 μ‚¬μš©ν•˜λŠ”κ±ΈκΉŒ?
κ°„λ‹¨ν•˜κ²Œ λ§ν•˜μžλ©΄ μ›μ‹œνƒ€μž…μ€ μ°Έμ‘°νƒ€μž…μ— λΉ„ν•΄ μ„±λŠ₯상 μž₯점이 있기 λ•Œλ¬Έμ— μ‚¬μš©ν•œλ‹€.
μ„±λŠ₯μƒμ˜ μž₯μ μœΌλ‘œλŠ” 속도와 λ©”λͺ¨λ¦¬ 크기가 μžˆλŠ”λ° λ¨Όμ € 속도뢀터 μ•Œμ•„λ³΄λ„λ‘ ν•˜κ² λ‹€.

🎨 μ›μ‹œνƒ€μž…κ³Ό μ°Έμ‘°νƒ€μž…μ˜ 속도 차이
Β Β Β Β  μ›μ‹œνƒ€μž…μ΄ μ°Έμ‘°νƒ€μž…λ³΄λ‹€ λΉ λ₯΄λ‹€.⏱

μ›μ‹œνƒ€μž…μ€ μŠ€νƒμ— 값이 μ‘΄μž¬ν•˜κ³ , μ°Έμ‘°νƒ€μž…μ€ μŠ€νƒμ—” μ°Έμ‘°κ°’λ§Œ 있고 μ‹€μ œ 값은 νž™μ— μ‘΄μž¬ν•œλ‹€.
μ›μ‹œνƒ€μž…μ€ μŠ€νƒμ—μ„œ λ°”λ‘œ 값을 찾을 수 μžˆμ§€λ§Œ μ°Έμ‘°νƒ€μž…μ€ μŠ€νƒμ—μ„œ μ£Όμ†Œκ°’μ„ μ°Ύμ•„μ„œ κ·Έ μ£Όμ†Œκ°’μ— ν•΄λ‹Ήν•˜λŠ” μ‹€μ œ 값을 νž™μ—μ„œ μ°ΎλŠ” 과정을 거쳐야 ν•˜κΈ° λ•Œλ¬Έμ— μƒλŒ€μ μœΌλ‘œ μ ‘κ·Ό 속도가 λŠλ €μ§„λ‹€.

🎨 μ›μ‹œνƒ€μž…κ³Ό μ°Έμ‘°νƒ€μž…μ΄ μ°¨μ§€ν•˜λŠ” λ©”λͺ¨λ¦¬ 크기 차이
Β Β Β Β  μ›μ‹œνƒ€μž…μ΄ μ°Έμ‘°νƒ€μž…λ³΄λ‹€ 적닀.πŸ‘

profile
Back-end developer

0개의 λŒ“κΈ€