λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
✏️ DevLog/Devcourse

[DevCourse] μƒμ„±ν˜• AI ν™œμš© λ°±μ—”λ“œ λ°λΈŒμ½”μŠ€ 27일차

by hyebin (Helia) 2025. 5. 15.
λ°˜μ‘ν˜•

μ˜€λŠ˜μ€ Javaμ—μ„œ μ€‘μš”ν•œ ꡬ쑰적 κ°œλ…μΈ λ©”μ„œλ“œ, μƒμ„±μž, static ν‚€μ›Œλ“œ, 그리고 싱글톀 νŒ¨ν„΄μ— λŒ€ν•΄ λ°°μ› λ‹€.

 

μ΄μ „κΉŒμ§€λŠ” λ‹¨μˆœνžˆ μ½”λ“œλ₯Ό μž‘μ„±ν•˜λŠ” 데 μ§‘μ€‘ν–ˆλ‹€λ©΄, μ˜€λŠ˜μ€ ‘이 μ½”λ“œκ°€ μ™œ μ΄λ ‡κ²Œ κ΅¬μ„±λ˜λŠ”μ§€’에 λŒ€ν•œ κ΄€μ μœΌλ‘œ 바라볼 수 μžˆμ–΄μ„œ ν•œμΈ΅ 더 깊이 μžˆλŠ” ν•™μŠ΅μ΄ λ˜μ—ˆλ‹€.


πŸ“˜ 였늘 배운 λ‚΄μš© 정리

πŸ”Ή λ©”μ„œλ“œ (Method)

λ©”μ„œλ“œλŠ” κΈ°λŠ₯을 μ •μ˜ν•˜λŠ” λΈ”λ‘μœΌλ‘œ, μ–΄λ–€ 값을 λ°›μ•„μ„œ μ²˜λ¦¬ν•œ λ’€ κ²°κ³Όλ₯Ό λ°˜ν™˜ν•˜κ±°λ‚˜ λ‹¨μˆœ μ‹€ν–‰ν•  μˆ˜λ„ μžˆλ‹€.

μ΅μˆ™ν•œ κ΅¬μ‘°μ˜€μ§€λ§Œ, μžλ°”μ—μ„œλŠ” λ°˜ν™˜ νƒ€μž…κ³Ό λ§€κ°œλ³€μˆ˜ νƒ€μž…μ„ λͺ…ν™•νžˆ μ„ μ–Έν•΄μ•Ό ν•˜κΈ°μ— 더 μ‹ μ€‘ν•˜κ²Œ μž‘μ„±ν•˜κ²Œ λœλ‹€.

λ°˜λ³΅λ˜λŠ” μ½”λ“œλ₯Ό μ •λ¦¬ν•˜κ³ , μ½”λ“œλ₯Ό μ—­ν• λ³„λ‘œ λ‚˜λˆ„λŠ” 감각을 ν‚€μš°λŠ” 데 도움이 λ˜μ—ˆλ‹€.

 

πŸ”Έ μƒμ„±μž (Constructor)

μƒμ„±μžλŠ” 객체가 λ§Œλ“€μ–΄μ§ˆ λ•Œ ν˜ΈμΆœλ˜λŠ” νŠΉλ³„ν•œ λ©”μ„œλ“œλ‘œ, 초기 μƒνƒœλ₯Ό μ„€μ •ν•˜λŠ” 데 μ‚¬μš©λœλ‹€.

μ²˜μŒμ—” λ‹¨μˆœνžˆ ‘객체λ₯Ό λ§Œλ“€κΈ° μœ„ν•œ ν‹€’이라고만 μƒκ°ν–ˆλŠ”λ°, 였늘 μ‹€μŠ΅μ„ 톡해 μ–΄λ–€ 값이 λ“€μ–΄κ°€μ•Ό ν•˜κ³  μ–΄λ–€ ꡬ쑰둜 μ΄ˆκΈ°ν™”λ˜μ–΄μ•Ό ν•˜λŠ”μ§€ κ³ λ―Όν•˜κ²Œ 됐닀.

 

πŸ”» static ν‚€μ›Œλ“œ

static은 객체λ₯Ό μƒμ„±ν•˜μ§€ μ•Šμ•„λ„ μ‚¬μš©ν•  수 μžˆλŠ” λ³€μˆ˜λ‚˜ λ©”μ„œλ“œλ₯Ό λ§Œλ“€ λ•Œ μ‚¬μš©λœλ‹€.

μ˜€λŠ˜μ€ static λ³€μˆ˜μ™€ 일반 λ³€μˆ˜μ˜ 차이λ₯Ό 직접 μ½”λ“œλ₯Ό 톡해 λΉ„κ΅ν•˜λ©΄μ„œ, μ–Έμ œ static을 μ‚¬μš©ν•˜λŠ” 게 쒋은지 감을 μ΅ν˜”λ‹€.

아직 μ™„μ „νžˆ μ΅μˆ™ν•˜μ§„ μ•Šμ§€λ§Œ, κ°œλ…μ μœΌλ‘œλŠ” 이해가 더 λΆ„λͺ…ν•΄μ‘Œλ‹€.

 

🟠 싱글톀 νŒ¨ν„΄ (Singleton Pattern)

ν•˜λ‚˜μ˜ 객체만 μ‘΄μž¬ν•˜λ„λ‘ μ œν•œν•˜λŠ” 섀계 방식이닀.

자주 λ“£λ˜ μš©μ–΄μ˜€μ§€λ§Œ, μ˜€λŠ˜μ—μ„œμ•Ό private μƒμ„±μž, static λ©”μ„œλ“œ μ‘°ν•©μœΌλ‘œ κ΅¬ν˜„λ˜λŠ” ꡬ쑰λ₯Ό 처음으둜 μ œλŒ€λ‘œ μ΄ν•΄ν–ˆλ‹€.

μ‹€μ œλ‘œ μ–΄λ–»κ²Œ ν™œμš©λ˜λŠ”μ§€ μ˜ˆμ‹œλ₯Ό 보며 λ°°μš°λ‹ˆκΉŒ 머릿속에 더 잘 λ‚¨μ•˜λ‹€.


🧑 λŠλ‚€ 점

μ˜€λŠ˜μ€ κ·Έλ™μ•ˆ νλ¦Ών•˜κ²Œ μ•Œκ³  있던 κ°œλ…λ“€μ„ 직접 μ½”λ“œλ‘œ κ΅¬ν˜„ν•΄ λ³΄λ©΄μ„œ ν•˜λ‚˜μ”© 정리할 수 μžˆμ—ˆλ˜ μ‹œκ°„μ΄μ—ˆλ‹€.

μ΄μ „μ—λŠ” λ‹¨μˆœνžˆ 문법을 μ΅νžˆλŠ” 데 μ§‘μ€‘ν–ˆλ‹€λ©΄,

μ΄μ œλŠ” “μ™œ μ΄λ ‡κ²Œ λ§Œλ“œλŠ” 걸까?”, “이게 μ–΄λ–€ μƒν™©μ—μ„œ μ“°μΌκΉŒ?” 같은 μ§ˆλ¬Έμ„ μžμ—°μŠ€λŸ½κ²Œ ν•˜κ²Œ λœλ‹€.

 

특히 싱글톀 νŒ¨ν„΄μ΄λ‚˜ static 같은 κ°œλ…μ€ μ½”λ“œλ₯Ό 쑰금 더 넓은 μ‹œμ•Όλ‘œ λ°”λΌλ³΄λŠ” 계기가 λ˜μ—ˆκ³ ,

μ΄ν•΄ν•œ 만큼 λ‹€μŒμ— 써먹을 수 μžˆμ„ 것 κ°™λ‹€λŠ” μžμ‹ κ°λ„ 쑰금 생겼닀.

λ°˜μ‘ν˜•