Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

jinnie-j/effective-java-study

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

236 Commits
236 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

effective-java-study

μ§„ν–‰ 방식

  • μŠ€ν„°λ””λŠ” λ§€μ£Ό ν™” 19:00에 μ§„ν–‰
  • λ§€μ£Ό item 2-3κ°œμ”© μŠ€ν„°λ”” μ „κΉŒμ§€ 마크 λ‹€μš΄μœΌλ‘œ μ •λ¦¬ν•˜μ—¬ κΉƒν—ˆλΈŒμ— μ—…λ‘œλ“œ
  • κΆκΈˆν•˜κ±°λ‚˜ ν† λ‘ ν•  λ§Œν•œ λ‚΄μš©μ€ Issuesλ₯Ό ν™œμš©ν•˜μ—¬ μ˜κ²¬μ„ μ œμ‹œ

참고 자료

μŠ€ν„°λ””μ›

GitHub
@o3ozzvb
@Jinnie-J
@limjaein

ν•™μŠ΅ 주제

2μž₯

μ•„μ΄ν…œ
μ•„μ΄ν…œ 1. μƒμ„±μž λŒ€μ‹  정적 νŒ©ν„°λ¦¬ λ©”μ„œλ“œλ₯Ό κ³ λ €ν•˜λΌ
μ•„μ΄ν…œ 2. μƒμ„±μžμ— λ§€κ°œλ³€μˆ˜κ°€ λ§Žλ‹€λ©΄ λΉŒλ”λ₯Ό κ³ λ €ν•˜λΌ
μ•„μ΄ν…œ 3. private μƒμ„±μžλ‚˜ μ—΄κ±° νƒ€μž…μœΌλ‘œ μ‹±κΈ€ν„΄μž„μ„ λ³΄μ¦ν•˜λΌ
μ•„μ΄ν…œ 4. μΈμŠ€ν„΄μŠ€ν™”λ₯Ό λ§‰μœΌλ €κ±°λ“  private μƒμ„±μžλ₯Ό μ‚¬μš©ν•˜λΌ
μ•„μ΄ν…œ 5. μžμ›μ„ 직접 λͺ…μ‹œν•˜μ§€ 말고 의쑴 객체 μ£Όμž…μ„ μ‚¬μš©ν•˜λΌ
μ•„μ΄ν…œ 6. λΆˆν•„μš”ν•œ 객체 생성을 ν”Όν•˜λΌ
μ•„μ΄ν…œ 7. λ‹€ μ“΄ 객체 μ°Έμ‘°λ₯Ό ν•΄μ œν•˜λΌ
μ•„μ΄ν…œ 9. try-finallyλ³΄λ‹€λŠ” try-with-resourcesλ₯Ό μ‚¬μš©ν•˜λΌ

3μž₯

μ•„μ΄ν…œ
μ•„μ΄ν…œ 10. equalsλŠ” 일반 κ·œμ•½μ„ μ§€μΌœ μž¬μ •μ˜ν•˜λΌ
μ•„μ΄ν…œ 11. equalsλ₯Ό μž¬μ •μ˜ν•˜λ €κ±°λ“  hashCode도 μž¬μ •μ˜ν•˜λΌ
μ•„μ΄ν…œ 12. toString을 항상 μž¬μ •μ˜ν•˜λΌ
μ•„μ΄ν…œ 13. clone μž¬μ •μ˜λŠ” μ£Όμ˜ν•΄μ„œ μ§„ν–‰ν•˜λΌ
μ•„μ΄ν…œ 14. Comparable을 κ΅¬ν˜„ν• μ§€ κ³ λ €ν•˜λΌ

4μž₯

μ•„μ΄ν…œ
μ•„μ΄ν…œ 15. ν΄λž˜μŠ€μ™€ λ©€λ²„μ˜ μ ‘κ·Ό κΆŒν•œμ„ μ΅œμ†Œν™”ν•˜λΌ
μ•„μ΄ν…œ 16. public ν΄λž˜μŠ€μ—μ„œλŠ” public ν•„λ“œκ°€ μ•„λ‹Œ μ ‘κ·Όμž λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•˜λΌ
μ•„μ΄ν…œ 17. λ³€κ²½ κ°€λŠ₯성을 μ΅œμ†Œν™”ν•˜λΌ
μ•„μ΄ν…œ 18. μƒμ†λ³΄λ‹€λŠ” μ»΄ν¬μ§€μ…˜μ„ μ‚¬μš©ν•˜λΌ
μ•„μ΄ν…œ 19. 상속을 κ³ λ €ν•΄ μ„€κ³„ν•˜κ³  λ¬Έμ„œν™”ν•˜λΌ. κ·ΈλŸ¬μ§€ μ•Šμ•˜λ‹€λ©΄ 상속을 κΈˆμ§€ν•˜λΌ
μ•„μ΄ν…œ 20. 좔상 ν΄λž˜μŠ€λ³΄λ‹€λŠ” μΈν„°νŽ˜μ΄μŠ€λ₯Ό μš°μ„ ν•˜λΌ
μ•„μ΄ν…œ 21. μΈν„°νŽ˜μ΄μŠ€λŠ” κ΅¬ν˜„ν•˜λŠ” μͺ½μ„ 생각해 μ„€κ³„ν•˜λΌ
μ•„μ΄ν…œ 22. μΈν„°νŽ˜μ΄μŠ€λŠ” νƒ€μž…μ„ μ •μ˜ν•˜λŠ” μš©λ„λ‘œλ§Œ μ‚¬μš©ν•˜λΌ
μ•„μ΄ν…œ 23. νƒœκ·Έ 달린 ν΄λž˜μŠ€λ³΄λ‹€λŠ” 클래슀 계측ꡬ쑰λ₯Ό ν™œμš©ν•˜λΌ
μ•„μ΄ν…œ 24. 멀버 ν΄λž˜μŠ€λŠ” λ˜λ„λ‘ static으둜 λ§Œλ“€λΌ
μ•„μ΄ν…œ 25. ν†±λ ˆλ²¨ ν΄λž˜μŠ€λŠ” ν•œ νŒŒμΌμ— ν•˜λ‚˜λ§Œ λ‹΄μœΌλΌ

5μž₯

μ•„μ΄ν…œ
μ•„μ΄ν…œ 26. 둜 νƒ€μž…μ€ μ‚¬μš©ν•˜μ§€ 말라
μ•„μ΄ν…œ 27. 비검사 κ²½κ³ λ₯Ό μ œκ±°ν•˜λΌ
μ•„μ΄ν…œ 28. λ°°μ—΄λ³΄λ‹€λŠ” 리슀트λ₯Ό μ‚¬μš©ν•˜λΌ
μ•„μ΄ν…œ 29. 이왕이면 μ œλ„€λ¦­ νƒ€μž…μœΌλ‘œ λ§Œλ“€λΌ
μ•„μ΄ν…œ 30. 이왕이면 μ œλ„€λ¦­ λ©”μ„œλ“œλ‘œ λ§Œλ“€λΌ
μ•„μ΄ν…œ 31. ν•œμ •μ  μ™€μΌλ“œμΉ΄λ“œλ₯Ό μ‚¬μš©ν•΄ API μœ μ—°μ„±μ„ 높이라
μ•„μ΄ν…œ 32. μ œλ„€λ¦­κ³Ό κ°€λ³€μΈμˆ˜λ₯Ό 함꼐 μ“Έ λ•ŒλŠ” μ‹ μ€‘ν•˜λΌ
μ•„μ΄ν…œ 33. νƒ€μž… μ•ˆμ „ 이쒅 μ»¨ν…Œμ΄λ„ˆλ₯Ό κ³ λ €ν•˜λΌ

6μž₯

μ•„μ΄ν…œ
μ•„μ΄ν…œ 34. int μƒμˆ˜ λŒ€μ‹  μ—΄κ±° νƒ€μž…μ„ μ‚¬μš©ν•˜λΌ
μ•„μ΄ν…œ 35. ordinal λ©”μ„œλ“œ λŒ€μ‹  μΈμŠ€ν„΄μŠ€ ν•„λ“œλ₯Ό μ‚¬μš©ν•˜λΌ
μ•„μ΄ν…œ 36. λΉ„νŠΈ ν•„λ“œ λŒ€μ‹  EnumSet을 μ‚¬μš©ν•˜λΌ
μ•„μ΄ν…œ 37. ordinal 인덱싱 λŒ€μ‹  EnumMap을 μ‚¬μš©ν•˜λΌ
μ•„μ΄ν…œ 38. ν™•μž₯ν•  수 μžˆλŠ” μ—΄κ±° νƒ€μž…μ΄ ν•„μš”ν•˜λ©΄ μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ‚¬μš©ν•˜λΌ
μ•„μ΄ν…œ 39. λͺ…λͺ… νŒ¨ν„΄λ³΄λ‹€ μ• λ„ˆν…Œμ΄μ…˜μ„ μ‚¬μš©ν•˜λΌ
μ•„μ΄ν…œ 40. @Override μ• λ„ˆν…Œμ΄μ…˜μ„ μΌκ΄€λ˜κ²Œ μ‚¬μš©ν•˜λΌ
μ•„μ΄ν…œ 41. μ •μ˜ν•˜λ €λŠ” 것이 νƒ€μž…μ΄λΌλ©΄ 마컀 μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ‚¬μš©ν•˜λΌ

7μž₯

μ•„μ΄ν…œ
μ•„μ΄ν…œ 42. 읡λͺ… ν΄λž˜μŠ€λ³΄λ‹€λŠ” λžŒλ‹€λ₯Ό μ‚¬μš©ν•˜λΌ
μ•„μ΄ν…œ 43. λžŒλ‹€λ³΄λ‹€λŠ” λ©”μ„œλ“œ μ°Έμ‘°λ₯Ό μ‚¬μš©ν•˜λΌ
μ•„μ΄ν…œ 44. ν‘œμ€€ ν•¨μˆ˜ν˜• μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ‚¬μš©ν•˜λΌ
μ•„μ΄ν…œ 45. μŠ€νŠΈλ¦Όμ€ μ£Όμ˜ν•΄μ„œ μ‚¬μš©ν•˜λΌ
μ•„μ΄ν…œ 46. μŠ€νŠΈλ¦Όμ—μ„œλŠ” λΆ€μž‘μš© μ—†λŠ” ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜λΌ
μ•„μ΄ν…œ 47. λ°˜ν™˜ νƒ€μž…μœΌλ‘œλŠ” μŠ€νŠΈλ¦Όλ³΄λ‹€ μ»¬λ ‰μ…˜μ΄ λ‚«λ‹€
μ•„μ΄ν…œ 48. 슀트림 λ³‘λ ¬ν™”λŠ” μ£Όμ˜ν•΄μ„œ μ μš©ν•˜λΌ

8μž₯

μ•„μ΄ν…œ
μ•„μ΄ν…œ 49. λ§€κ°œλ³€μˆ˜κ°€ μœ νš¨ν•œμ§€ κ²€μ‚¬ν•˜λΌ
μ•„μ΄ν…œ 50. μ μ‹œμ— 방어적 볡사본을 λ§Œλ“€λΌ
μ•„μ΄ν…œ 51. λ©”μ„œλ“œ μ‹œκ·Έλ‹ˆμ²˜λ₯Ό μ‹ μ€‘νžˆ μ„€κ³„ν•˜λΌ
μ•„μ΄ν…œ 52. λ‹€μ€‘μ •μ˜λŠ” μ‹ μ€‘νžˆ μ‚¬μš©ν•˜λΌ
μ•„μ΄ν…œ 53. κ°€λ³€μΈμˆ˜λŠ” μ‹ μ€‘νžˆ μ‚¬μš©ν•˜λΌ
μ•„μ΄ν…œ 54. null이 μ•„λ‹Œ, 빈 μ»¬λ ‰μ…˜μ΄λ‚˜ 배열을 λ°˜ν™˜ν•˜λΌ
μ•„μ΄ν…œ 55. μ˜΅μ…”λ„ λ°˜ν™˜μ€ μ‹ μ€‘νžˆ ν•˜λΌ
μ•„μ΄ν…œ 56. 곡개된 API μš”μ†Œμ—λŠ” 항상 λ¬Έμ„œν™” 주석을 μž‘μ„±ν•˜λΌ

9μž₯

μ•„μ΄ν…œ
μ•„μ΄ν…œ 57. μ§€μ—­λ³€μˆ˜μ˜ λ²”μœ„λ₯Ό μ΅œμ†Œν™”ν•˜λΌ
μ•„μ΄ν…œ 58. 전톡적인 for λ¬Έλ³΄λ‹€λŠ” for-each 문을 μ‚¬μš©ν•˜λΌ
μ•„μ΄ν…œ 59. 라이브러리λ₯Ό 읡히고 μ‚¬μš©ν•˜λΌ
μ•„μ΄ν…œ 60. μ •ν™•ν•œ 닡이 ν•„μš”ν•˜λ‹€λ©΄ floatκ³Ό double은 ν”Όν•˜λΌ
μ•„μ΄ν…œ 61. λ°•μ‹±λœ κΈ°λ³Έ νƒ€μž…λ³΄λ‹€λŠ” κΈ°λ³Έ νƒ€μž…μ„ μ‚¬μš©ν•˜λΌ
μ•„μ΄ν…œ 62. λ‹€λ₯Έ νƒ€μž…μ΄ μ μ ˆν•˜λ‹€λ©΄ λ¬Έμžμ—΄ μ‚¬μš©μ„ ν”Όν•˜λΌ
μ•„μ΄ν…œ 63. λ¬Έμžμ—΄ 연결은 λŠλ¦¬λ‹ˆ μ£Όμ˜ν•˜λΌ
μ•„μ΄ν…œ 64. κ°μ²΄λŠ” μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ‚¬μš©ν•΄ μ°Έμ‘°ν•˜λΌ
μ•„μ΄ν…œ 65. λ¦¬ν”Œλ ‰μ…˜λ³΄λ‹€λŠ” μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ‚¬μš©ν•˜λΌ.
μ•„μ΄ν…œ 66. λ„€μ΄ν‹°λΈŒ λ©”μ„œλ“œλŠ” μ‹ μ€‘νžˆ μ‚¬μš©ν•˜λΌ
μ•„μ΄ν…œ 67. μ΅œμ ν™”λŠ” μ‹ μ€‘νžˆ ν•˜λΌ
μ•„μ΄ν…œ 68. 일반적으둜 ν†΅μš©λ˜λŠ” λͺ…λͺ… κ·œμΉ™μ„ λ”°λ₯΄λΌ

10μž₯

μ•„μ΄ν…œ
μ•„μ΄ν…œ 69. μ˜ˆμ™ΈλŠ” μ§„μ§œ μ˜ˆμ™Έ μƒν™©μ—λ§Œ μ‚¬μš©ν•˜λΌ
μ•„μ΄ν…œ 70. 볡ꡬ할 수 μžˆλŠ” μƒν™©μ—λŠ” 검사 μ˜ˆμ™Έλ₯Ό, ν”„λ‘œκ·Έλž˜λ° 였λ₯˜μ—λŠ” λŸ°νƒ€μž„ μ˜ˆμ™Έλ₯Ό μ‚¬μš©ν•˜λΌ
μ•„μ΄ν…œ 71. ν•„μš” μ—†λŠ” 검사 μ˜ˆμ™Έ μ‚¬μš©μ€ ν”Όν•˜λΌ
μ•„μ΄ν…œ 72. ν‘œμ€€ μ˜ˆμ™Έλ₯Ό μ‚¬μš©ν•˜λΌ
μ•„μ΄ν…œ 73. 좔상화 μˆ˜μ€€μ— λ§žλŠ” μ˜ˆμ™Έλ₯Ό λ˜μ§€λΌ
μ•„μ΄ν…œ 74. λ©”μ„œλ“œκ°€ λ˜μ§€λŠ” λͺ¨λ“  μ˜ˆμ™Έλ₯Ό λ¬Έμ„œν™”ν•˜λΌ
μ•„μ΄ν…œ 75. μ˜ˆμ™Έμ˜ 상세 λ©”μ‹œμ§€μ— μ‹€νŒ¨ κ΄€λ ¨ 정보λ₯Ό λ‹΄μœΌλΌ
μ•„μ΄ν…œ 76. κ°€λŠ₯ν•œ ν•œ μ‹€νŒ¨ μ›μžμ μœΌλ‘œ λ§Œλ“€λΌ
μ•„μ΄ν…œ 77. μ˜ˆμ™Έλ₯Ό λ¬΄μ‹œν•˜μ§€ 말라

11μž₯

μ•„μ΄ν…œ
μ•„μ΄ν…œ 78. 곡유 쀑인 κ°€λ³€ λ°μ΄ν„°λŠ” 동기화해 μ‚¬μš©ν•˜λΌ
μ•„μ΄ν…œ 79. κ³Όλ„ν•œ λ™κΈ°ν™”λŠ” ν”Όν•˜λΌ
μ•„μ΄ν…œ 80. μŠ€λ ˆλ“œλ³΄λ‹€λŠ” μ‹€ν–‰μž, νƒœμŠ€ν¬, μŠ€νŠΈλ¦Όμ„ μ• μš©ν•˜λΌ
μ•„μ΄ν…œ 81. wait와 notifyλ³΄λ‹€λŠ” λ™μ‹œμ„± μœ ν‹Έλ¦¬ν‹°λ₯Ό μ• μš©ν•˜λΌ
μ•„μ΄ν…œ 82. μŠ€λ ˆλ“œ μ•ˆμ „μ„± μˆ˜μ€€μ„ λ¬Έμ„œν™”ν•˜λΌ
μ•„μ΄ν…œ 83. μ§€μ—° μ΄ˆκΈ°ν™”λŠ” μ‹ μ€‘νžˆ μ‚¬μš©ν•˜λΌ
μ•„μ΄ν…œ 84. ν”„λ‘œκ·Έλž¨μ˜ λ™μž‘μ„ μŠ€λ ˆλ“œ μŠ€μΌ€μ€„λŸ¬μ— κΈ°λŒ€μ§€ 말라

12μž₯

μ•„μ΄ν…œ
μ•„μ΄ν…œ 85. μžλ°” μ§λ ¬ν™”μ˜ λŒ€μ•ˆμ„ 찾으라
μ•„μ΄ν…œ 86. Serializable을 κ΅¬ν˜„ν• μ§€λŠ” μ‹ μ€‘νžˆ κ²°μ •ν•˜λΌ
μ•„μ΄ν…œ 87. μ»€μŠ€ν…€ 직렬화 ν˜•νƒœλ₯Ό 고렀해보라
μ•„μ΄ν…œ 88. readObject λ©”μ„œλ“œλŠ” λ°©μ–΄μ μœΌλ‘œ μž‘μ„±ν•˜λΌ
μ•„μ΄ν…œ 89. μΈμŠ€ν„΄μŠ€ 수λ₯Ό ν†΅μ œν•΄μ•Ό ν•œλ‹€λ©΄ readResolve λ³΄λ‹€λŠ” μ—΄κ±° νƒ€μž…μ„ μ‚¬μš©ν•˜λΌ
μ•„μ΄ν…œ 90. μ§λ ¬ν™”λœ μΈμŠ€ν„΄μŠ€ λŒ€μ‹  직렬화 ν”„λ‘μ‹œ μ‚¬μš©μ„ κ²€ν† ν•˜λΌ

About

πŸ“” μ΄νŽ™ν‹°λΈŒ μžλ°” μŠ€ν„°λ””

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Morty Proxy This is a proxified and sanitized view of the page, visit original site.