book-effective-java μ°Έκ³ λ§ν¬ μ€ν°λ μ΄μλ°©μ μ± μ 보 λ§ν¬ μ΄νν°λΈμλ° κ³΅μ Github μ΄νν°λΈμλ° 3ν λ²μ μ©μ΄ μ€λͺ 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. μ§λ ¬νλ μΈμ€ν΄μ€ λμ μ§λ ¬ν νλ‘μ μ¬μ©μ κ²ν νλΌ κΉλ³΄λ°° / ν©μ€νΈ