μ΄νν°λΈμλ°/μ€νλ§ μ€ν°λ λ°νμλ£ μ μ₯μμ λλ€.
- μ΄νν°λΈμλ° μ£Όμ λ°ν (5λΆμ΄λ΄, μμ΄ν μ μνλ κ²μ μμ λ‘κ² μ μ°©μ!!)
- μ μ©ν΄λ³Έκ²½ν, μκ°ν΄λ³Όκ±°λ¦¬, λ곡λΆν λ§νμ£Όμ λ± ν λ‘ ν 거리 (10λΆλ΄μΈ, ν μ΄νλ‘μ νΈλ μ’κ³ , κΌ μ€νλ§μ΄ μλμ΄λλ¨)
- μ€ν°λ μ°Έκ³ μλ£
- μνμ½λ jbloch/effective-java-3e-source-code (github.com)
- μ€ν°λμλ£ Meet-Coder-Study/book-effective-java (github.com)
- μμ΄ν 12. toStringμ νμ μ¬μ μνλΌ, κ·Έλ¦¬κ³ λ‘κΉ μ΄μΌκΈ° @λ°νμ
- μμ΄ν 2.-μμ±μμ-맀κ°λ³μκ°-λ§λ€λ©΄-λΉλλ₯Ό-κ³ λ €νλΌ @κΉνμ
- μμ΄ν 57. μ§μλ³μμ λ²μλ₯Ό μ΅μννλΌ @μ΅νμ€
- μμ΄ν 34. int μμ λμ μ΄κ±° νμ μ μ¬μ©νλΌ @μ΄μ°μ¬
- μμ΄ν 7-λ€-μ΄-κ°μ²΄λ₯Ό-μ°Έμ‘°-ν΄μ νλΌ-κ·Έλ¦¬κ³ -λ©λͺ¨λ¦¬-λͺ¨λν°λ§-μ΄μΌκΈ° @λ°νμ
- μμ΄ν 65. 리νλ μ 보λ€λ μΈν°νμ΄μ€λ₯Ό μ¬μ©νλΌ @κΉνμ
- μμ΄ν 31. νμ μ μμΌλμΉ΄λλ₯Ό μ¬μ©ν΄ API μ μ°μ±μ λμ΄λΌ @κΉνμ
- μμ΄ν 8,9 finalize λ³΄λ€ try-with-resourceλ₯Ό μ¬μ©νλΌ @λ°νμ
β
- 1μ₯ λ€μ΄κ°κΈ°
- 2μ₯ κ°μ²΄ μμ±κ³Ό νκ΄΄
- μμ΄ν 1. μμ±μ λμ μ μ ν©ν°λ¦¬ λ©μλλ₯Ό κ³ λ €νλΌ π©@κΉνμ
- μμ΄ν 2. μμ±μμ 맀κ°λ³μκ° λ§λ€λ©΄ λΉλλ₯Ό κ³ λ €νλΌ π©@κΉνμ
- μμ΄ν 3. private μμ±μλ μ΄κ±° νμ μΌλ‘ μ±κΈν΄μμ 보μ¦νλΌ
- μμ΄ν 4. μΈμ€ν΄μ€νλ₯Ό λ§μΌλ €κ±°λ private μμ±μλ₯Ό μ¬μ©νλΌ
- μμ΄ν 5. μμμ μ§μ λͺ μνμ§ λ§κ³ μμ‘΄ κ°μ²΄ μ£Όμ μ μ¬μ©νλΌ
- μμ΄ν 6. λΆνμν κ°μ²΄ μμ±μ νΌνλΌ
- μμ΄ν 7. λ€ μ΄ κ°μ²΄ μ°Έμ‘°λ₯Ό ν΄μ νλΌ π©@λ°νμ
- μμ΄ν 8. finalizerμ cleaner μ¬μ©μ νΌνλΌ π©@λ°νμ
- μμ΄ν 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. μ§λ ¬νλ μΈμ€ν΄μ€ λμ μ§λ ¬ν νλ‘μ μ¬μ©μ κ²ν νλΌ