[ JAVA ] String ν΄λž˜μŠ€μ™€ StringBuffer 와 StringBuilder 클래슀 차이✏️

βœ”οΈ Stringκ³Ό StringBuffer, StringBuilder 무엇이 λ‹€λ₯Έκ±ΈκΉŒ κ²°λ‘ λΆ€ν„° μ΄μ•ΌκΈ°ν•˜λ©΄ ν•œλ²ˆ μƒμ„±λœ λ¬Έμžμ—΄μ— λŒ€ν•΄μ„œ String ν΄λž˜μŠ€λŠ” λ³€κ²½λΆˆκ°€λŠ₯ν•˜κ³ , StringBuffer ν˜Ήμ€ StringBuilder ν΄λž˜μŠ€λŠ” λ³€κ²½κ°€λŠ₯ν•˜λ‹€λŠ” 것이닀. String 클래슀 객체(new ν‚€μ›Œλ“œ)둜 μ„ μ–Έν•œ λ¬Έμžμ—΄μ€ ν•˜λ‚˜μ˜ μΈμŠ€ν„΄μŠ€κ°€ λœλ‹€. ν•œλ²ˆ μƒμ„±λœ String μΈμŠ€ν„΄μŠ€λŠ” 변경이 λΆˆκ°€λŠ₯ν•œ λΆˆκ°€λ³€ λ¬Έμžμ—΄μ΄λ‹€. λ¦¬ν„°λŸ΄λ°©μ‹(λ”°μ˜΄ν‘œ)은 같은 λ¬Έμžμ—΄μΌ 경우 ν•˜λ‚˜μ˜ μΈμŠ€ν„΄μŠ€λ₯Ό μ°Έμ‘°ν•œλ‹€. μ—¬λŸ¬ λ³€μˆ˜λ“€μ˜ λ¦¬ν„°λŸ΄ λ¬Έμžμ—΄μ΄ λ™μΌν•˜λ‹€λ©΄ ν•˜λ‚˜μ˜ μΈμŠ€ν„΄μŠ€λ§Œ μ°Έμ‘°ν•˜κ²Œ λœλ‹€. μ•„λž˜ μ½”λ“œλ₯Ό 기반으둜 λ©”λͺ¨λ¦¬κ΅¬μ‘°λ₯Ό 보며 μ’€ 더 μžμ„Ένžˆ 이야기 ν•΄λ³΄μž. String str1 = "a"; String str2 = "a"; String st..

β†˜ Programming/β”— JAVA 2023. 2. 21. 00:51
[ JAVA ] μžλ°”μ˜ μΆ”μƒν΄λž˜μŠ€( abstract class )와 μΆ”μƒλ©”μ„œλ“œ(abstract method )

μΆ”μƒν΄λž˜μŠ€ ❓ λ―Έμ™„μ„±λœ μ„€κ³„λ„λ‘œ λΉ„μœ ν•  수 있음(=ν”„λ ˆμž„) μΆ”μƒλ©”μ„œλ“œ(λ―Έμ™„μ„± λ©”μ„œλ“œ)λ₯Ό ν¬ν•¨ν•˜κ³  μžˆλŠ” 클래슀 μΆ”μƒλ©”μ„œλ“œλŠ” 상속을 ν†΅ν•΄μ„œλ§Œ μ™„μ„±λ˜μ–΄μ§ˆ 수 있음 κ³΅ν†΅λœ 뢀뢄에 λŒ€ν•΄μ„œ μžμ‹ ν΄λž˜μŠ€μ—κ²Œ 상속이 이루어짐 μΆ”μƒν΄λž˜μŠ€λŠ” abstract ν‚€μ›Œλ“œλ₯Ό λΆ™μ—¬ 생성함 abstract class Robot{ ... } μΆ”μƒλ©”μ„œλ“œ( abstract method ) ❓ λ©”μ„œλ“œλ₯Ό μ„ μ–Έν•˜μ§€λ§Œ λ©”μ„œλ“œμ˜ λ‚΄μš©μ΄ μ‘΄μž¬ν•˜μ§€ μ•ŠμŒ λ©”μ„œλ“œλ§Œ κ΅¬μ„±ν•˜κ³  μƒμ„Έκ΅¬ν˜„μ€ 상속을 톡해 이루어 지도둝 κ°•μ œν•¨. λ©”μ„œλ“œμ˜ λ‚΄μš©μ„ λΉ„μ›Œλ‘λŠ” μ΄μœ λŠ” μžμ‹ν΄λž˜μŠ€ λ§ˆλ‹€μ˜ κ΅¬ν˜„λ‚΄μš©μ΄ λ‹¬λΌμ§ˆ 수 있기 λ•Œλ¬Έ κ΅¬ν˜„λ‚΄μš©μ΄ μ‘΄μž¬ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— { } 블둝 없이 λ©”μ„œλ“œλ₯Ό μ •μ˜ν•¨ abstract String attack(); μž κΉλ§Œμš” βœ‹ μΆ”μƒλ©”μ„œλ“œλ„ μ–΄μ°¨ν”Ό λ©”μ„œλ“œμΈλ° ..

β†˜ Programming/β”— JAVA 2023. 2. 14. 02:07
[JAVA] μ“°λ ˆλ“œ(Thread)λž€

1. ν”„λ‘œμ„ΈμŠ€μ™€ μ“°λ ˆλ“œ ν”„λ‘œμ„ΈμŠ€(process)λž€ 싀행쀑인 ν”„λ‘œκ·Έλž¨μ„ λ§ν•˜λ©°, 이 ν”„λ‘œκ·Έλž¨μ„ μ‹€ν–‰ν•˜λ©΄ OSλ‘œλΆ€ν„° 싀행에 ν•„μš”ν•œ μžμ›(λ©”λͺ¨λ¦¬)을 ν• λ‹Ή λ°›μ•„ ν”„λ‘œμ„ΈμŠ€κ°€ λœλ‹€. μ΄λ•Œ, ν”„λ‘œμ„ΈμŠ€μ˜ μžμ›μ„ μ΄μš©ν•΄μ„œ μ‹€μ œλ‘œ μž‘μ—…μ„ μˆ˜ν–‰ν•˜λŠ” 것이 λ°”λ‘œ μ“°λ ˆλ“œμ΄λ‹€. κ·Έλž˜μ„œ λͺ¨λ“  ν”„λ‘œμ„ΈμŠ€μ—λŠ” μ΅œμ†Œν•œ ν•˜λ‚˜ μ΄μƒμ˜ μ“°λ ˆλ“œκ°€ μ‘΄μž¬ν•˜κ²Œ λœλ‹€. λ‘˜ μ΄μƒμ˜ μ“°λ ˆλ“œλ₯Ό 가진 ν”„λ‘œμ„ΈμŠ€λ₯Ό λ©€ν‹°μ“°λ ˆλ“œ ν”„λ‘œμ„ΈμŠ€λΌκ³  λΆ€λ₯Έλ‹€. 1. λ©€ν‹°μ“°λ ˆλ”© μœˆλ„μš°λ‚˜ μœ λ‹‰μŠ€μ™€ 같은 λŒ€λΆ€λΆ„μ˜ OSμ—μ„œλŠ” λ©€ν‹°νƒœμŠ€ν‚Ή(Multi-tasking, λ‹€μ€‘μž‘μ—…)을 μ§€μ›ν•˜κΈ° λ•Œλ¬Έμ— μ—¬λŸ¬ ν”„λ‘œμ„ΈμŠ€λ₯Ό λ™μ‹œμ— μ‹€ν–‰ μ‹œν‚¬ 수 μžˆλ‹€. λ©€ν‹°μ“°λ ˆλ”©μ΄λž€, ν•˜λ‚˜μ˜ ν”„λ‘œμ„ΈμŠ€ λ‚΄μ—μ„œ μ—¬λŸ¬ μ“°λ ˆλ“œκ°€ λ™μ‹œμ— μž‘μ—…μ„ μˆ˜ν–‰ν•˜λŠ” 것을 λ§ν•œλ‹€. μΉ΄μΉ΄μ˜€ν†‘μ€ λŒ€ν‘œμ μΈ λ©€ν‹°μ“°λ ˆλ”©μ„ μ§€μ›ν•˜λŠ” ν”„λ‘œκ·Έλž¨ 이라고 ν•  ..

β†˜ Programming/β”— JAVA 2019. 4. 8. 21:01
λ°˜μ‘ν˜•