λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

빈 ꡬ멍 μ±„μš°κΈ°

[Java][Kotlin] κ°€μ‹œμ„± λ³€κ²½μž 차이 비ꡐ

 

λΆ„λ₯˜ μžλ°” μ½”ν‹€λ¦°
κΈ°λ³Έ κ°€μ‹œμ„± 클래슀, λ©”μ„œλ“œ, ν•„λ“œμ˜ κΈ°λ³Έ κ°€μ‹œμ„±μ€ νŒ¨ν‚€μ§€λ‘œ κ²°μ •λœλ‹€. 
κ°€μ‹œμ„± λ³€κ²½μžλ₯Ό μ§€μ •ν•˜μ§€ μ•ŠμœΌλ©΄ ν•΄λ‹Ή μš”μ†ŒλŠ” λ™μΌν•œ νŒ¨ν‚€μ§€ λ‚΄μ—μ„œλ§Œ μ ‘κ·Ό κ°€λŠ₯ν•˜λ‹€.
κΈ°λ³Έ κ°€μ‹œμ„±μ€ public이닀. λ³„λ„μ˜ κ°€μ‹œμ„± λ³€κ²½μžλ₯Ό μ§€μ •ν•˜μ§€ μ•ŠμœΌλ©΄ ν•΄λ‹Ή ν΄λž˜μŠ€λ‚˜ λ©”μ„œλ“œλŠ” μ–΄λ””μ„œλ“  μ ‘κ·Ό κ°€λŠ₯ν•˜λ‹€.
κ°€μ‹œμ„± λ³€κ²½μž 비ꡐ
public 클래슀, λ©”μ„œλ“œ, ν•„λ“œ λͺ¨λ‘ λͺ¨λ“  κ³³μ—μ„œ μ ‘κ·Ό κ°€λŠ₯ν•˜λ‹€. μžλ°”μ™€ λ™μΌν•˜κ²Œ λͺ¨λ“  κ³³μ—μ„œ μ ‘κ·Ό κ°€λŠ₯ν•˜λ‹€.
private 클래슀 λ‚΄λΆ€μ—μ„œλ§Œ μ ‘κ·Ό κ°€λŠ₯ν•˜λ‹«.
같은 클래슀 μ•ˆμ—μ„œλ§Œ 접근이 ν—ˆμš©λœλ‹€.
μžλ°”μ™€ λ™μΌν•˜κ²Œ 같은 클래슀 λ‚΄λΆ€μ—μ„œλ§Œ 접근이 κ°€λŠ₯ν•˜μ§€λ§Œ, 같은 파일 λ‚΄μ˜ μ΅œμƒμœ„ μˆ˜μ€€μ˜ 선언에 λŒ€ν•΄μ„œλ„ privateκ°€ 적용될 수 μžˆλ‹€.
파일 내에 μ—¬λŸ¬ ν΄λž˜μŠ€κ°€ 있으면 λ‹€λ₯Έ ν΄λž˜μŠ€μ—μ„œ 접근이 λΆˆκ°€λŠ₯ν•˜λ‹€
protected λ™μΌν•œ νŒ¨ν‚€μ§€μ™€ ν•˜μœ„ ν΄λž˜μŠ€μ—μ„œ μ ‘κ·Όν•  수 μžˆλ‹€. ν•˜μœ„ ν΄λž˜μŠ€μ—μ„œλ§Œ μ ‘κ·Ό κ°€λŠ₯ν•˜λ‹€. μžλ°”μ™€ 달리 λ™μΌν•œ νŒ¨ν‚€μ§€ λ‚΄μ—μ„œλŠ” μ ‘κ·Όν•  수 μ—†λ‹€.
internal - μ—†μŒ μ½”ν‹€λ¦°μ—μ„œλ§Œ μ œκ³΅λœλ‹€.
같은 λͺ¨λ“ˆ λ‚΄μ—μ„œ μ ‘κ·Ό κ°€λŠ₯ν•˜λ‹€. λͺ¨λ“ˆμ€ 일반 적으둜 ν•˜λ‚˜μ˜ 컴파일 λ‹¨μœ„μ΄λ©°, ν•˜λ‚˜μ˜ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ˜λŠ” 라이브러리둜 κ°„μ£Όλœλ‹€. μžλ°”μ—μ„  internalκ³Ό λ™μΌν•œ μ ‘κ·Ό μ œμ–΄κ°€ μ—†λ‹€.
     
μ΅œμƒμœ„ μˆ˜μ€€ μš”μ†Œ μ΅œμƒμœ„ μˆ˜μ€€μ˜ ν΄λž˜μŠ€μ—μ„œλŠ” privateμ΄λ‚˜ protected κ°€μ‹œμ„±μ„ μ μš©ν•  수 μ—†μœΌλ©°, 였직 public λ˜λŠ” νŒ¨ν‚€μ§€ κ°€μ‹œμ„±λ§Œ μ‚¬μš©ν•  수 μžˆλ‹€. μ΅œμƒμœ„ μˆ˜μ€€μ˜ μ„ μ–Έμ—λŠ” private, internal, public κ°€μ‹œμ„±μ„ μ‚¬μš©ν•  수 μžˆλ‹€.