μλ° κ³΅λΆ(79)
-
[μ΄νν°λΈ μλ°] Item5. μμμ μ§μ λͺ μνμ§ λ§κ³ μμ‘΄ κ°μ²΄ μ£Όμ μ μ¬μ©νλΌ.
item05. μμμ μ§μ λͺ μνμ§ λ§κ³ μμ‘΄ κ°μ²΄ μ£Όμ μ μ¬μ©νλΌ. ν΄λμ€κ° λ΄λΆμ μΌλ‘ νλ μ΄μμ μμμ μμ‘΄νκ³ , κ·Έ μμμ΄ ν΄λμ€μ λμμ μν₯μ μ€λ€λ©΄ μ μ μ νΈλ¦¬ν° ν΄λμ€λ μ±κΈν€ λ°©μμ΄ μ ν©νμ§ μλ€. λ§μ ν΄λμ€κ° νλ μ΄μμ μμμ μμ‘΄νλλ° μ± μμ μμ λ‘λ λ§μΆ€λ² κ²μ¬κΈ°λ₯Ό μλ‘ λ€κ³ μλ€. λ§μΆ€λ² κ²μ¬κΈ°λ Dictionaryμ μμ‘΄νλ€κ³ κ°μ νλ€. 1) μ μ μ νΈλ¦¬ν° ν΄λμ€ public class SpellChecker { // μμμ μ§μ λͺ μν μ½λ (μμμ μ§μ μμ±νλ€, new λ‘ μμ± ) private static final Dictionary dictionary = new Dictionary(); private SpellChecker() { } public static boo..
2023.01.12 -
[μ΄νν°λΈ μλ°] Item03 μ벽곡λ΅. μ§λ ¬ν Serializable
item03. private μμ±μλ μ΄κ±° νμ μΌλ‘ μ±κΈν€μμ 보μ¦νλΌ. " p24. μ§λ ¬ν, μμ§λ ¬ν, Serializable, transient" μ§λ ¬ν Serializable λ? : κ°μ²΄λ₯Ό λ°μ΄νΈμ€νΈλ¦ΌμΌλ‘ μνΈ λ³ννλ κΈ°μ μλ° μμ€ν λ΄λΆμμ μ¬μ©λλ κ°μ²΄ λλ λ°μ΄ν°λ₯Ό μΈλΆμ μλ° μμ€ν μμλ μ¬μ©ν μ μλλ‘ byte ννλ‘ λ°μ΄ν° λ³ννλ κΈ°μ μ΄κ³ , μμ§λ ¬νλ μ΄λ κ² byte λ‘ λ³νλ λ°μ΄ν°λ₯Ό λ€μ κ°μ²΄λ‘ λ³ννλ κΈ°μ μ λ§νλ€. JVMμ λ©λͺ¨λ¦¬μ μμ£Ό(ν λλ μ€ν) λμ΄ μλ κ°μ²΄ λ°μ΄ν°λ₯Ό λ°μ΄νΈ ννλ‘ λ³ννλ κΈ°μ (μ§λ ¬ν) κ³Ό λ°μ΄νΈ ννμ λ°μ΄ν°λ₯Ό κ°μ²΄λ‘ λ³νν΄μ JVMμΌλ‘ μμ£Όμν€λ νν(μμ§λ ¬ν) λ°μ΄νΈμ€νΈλ¦ΌμΌλ‘ λ³νλ κ°μ²΄λ₯Ό νμΌλ‘ μ μ₯νκ±°λ λ€νΈμν¬λ₯Ό ν΅ν΄ λ€λ₯Έ μμ€ν μΌ..
2023.01.11 -
[μ΄νν°λΈ μλ°] Item03 μ벽곡λ΅. ν¨μν μΈν°νμ΄μ€
item03. private μμ±μλ μ΄κ±° νμ μΌλ‘ μ±κΈν€μμ 보μ¦νλΌ. " p24. Supplier, ν¨μν μΈν°νμ΄μ€" ν¨μν μΈν°νμ΄μ€ Functional Interface λ? : μλ°κ° μ 곡νλ κΈ°λ³Έ ν¨μν μΈν°νμ΄μ€λ‘ 1κ°μ μΆμ λ©μλλ₯Ό κ°μ§κ³ μλ μΈν°νμ΄μ€λ₯Ό μλ―Ένλ€. Single Abstract Method (SAM) μ΄λΌκ³ νλ€. ν¨μν μΈν°νμ΄μ€λ λλ€ ννμκ³Ό λ©μλ μ°Έμ‘°μ λν "νμΌ νμ "μ μ 곡νλ€. κ·Έλ¦¬κ³ μ΄ νκ² νμ μ λ³μ ν λΉ, λ©μλ νΈμΆ, νμ λ³νμ νμ©ν μ μλ€. /** * ν¨μν μΈν°νμ΄μ€ */ @FunctionalInterface public interface MyFunction { String valueOf(Integer integer); } -> μ΄μ²λΌ..
2023.01.10 -
[μ΄νν°λΈ μλ°] Item03 μ벽곡λ΅. λ©μλ μ°Έμ‘° method reference
item03. private μμ±μλ μ΄κ±° νμ μΌλ‘ μ±κΈν€μμ 보μ¦νλΌ. " p24. λ©μλ μ°Έμ‘°λ₯Ό 곡κΈμλ‘ μ¬μ©ν μ μλ€. " λ©μλ μ°Έμ‘° Method Reference λ? : λ©μλ νλλ§ νΈμΆνλ λλ€ ννμμ μ€μ¬μ°λ λ°©λ² λ©μλ μ°Έμ‘°λ λλ€ ννμμ΄ λ¨ νλμ λ©μλλ§μ νΈμΆνλ κ²½μ°μ ν΄λΉ λλ€ ννμμμ λΆνμν 맀κ°λ³μλ₯Ό μ κ±°νκ³ μ¬μ©ν μ μλλ‘ νλ€. ν΄λμ€μ΄λ¦::λ©μλμ΄λ¦ μ°Έμ‘°λ³μμ΄λ¦::λ©μλμ΄λ¦ public class Person { LocalDate birthday; public Person() { } public Person(LocalDate birthday) { this.birthday = birthday; } public int getAge() { return LocalD..
2023.01.10 -
[μ΄νν°λΈ μλ°] Item3. private μμ±μλ μ΄κ±° νμ μΌλ‘ μ±κΈν€μμ 보μ¦νλΌ. ( private μμ±μ + μ μ ν©ν°λ¦¬ λ©μλ )
μμ΄ν 3. private μμ±μλ μ΄κ±° νμ μΌλ‘ μ±κΈν€μμ 보μ¦νλΌ. [μ΄νν°λΈ μλ°] Item3. private μμ±μλ μ΄κ±° νμ μΌλ‘ μ±κΈν€μμ 보μ¦νλΌ. (private μμ±μ + public static final νλ ) (tistory.com) [μ΄νν°λΈ μλ°] Item3. private μμ±μλ μ΄κ±° νμ μΌλ‘ μ±κΈν€μμ 보μ¦νλΌ. (private μμ±μ + public μμ΄ν 3. private μμ±μλ μ΄κ±° νμ μΌλ‘ μ±κΈν€μμ 보μ¦νλΌ. μ±κΈν€ singleton μ΄λ? : μΈμ€ν΄μ€λ₯Ό μ€μ§ νλλ§ μμ±ν μ μλ ν΄λμ€λ₯Ό μλ―Ένλ€. μ±κΈν€μ μλ‘λ μ€κ³μ μ μΌν΄μΌ νλ μμ€ν hyejin.tistory.com μ¬κΈ°μ private μμ±μ + public static final νλλ₯Ό μ¬μ©ν 첫..
2023.01.09 -
[μ΄νν°λΈ μλ°] Item3. private μμ±μλ μ΄κ±° νμ μΌλ‘ μ±κΈν€μμ 보μ¦νλΌ. (private μμ±μ + public static final νλ )
μμ΄ν 3. private μμ±μλ μ΄κ±° νμ μΌλ‘ μ±κΈν€μμ 보μ¦νλΌ. μ±κΈν€ singleton μ΄λ? : μΈμ€ν΄μ€λ₯Ό μ€μ§ νλλ§ μμ±ν μ μλ ν΄λμ€λ₯Ό μλ―Ένλ€. μ±κΈν€μ μλ‘λ μ€κ³μ μ μΌν΄μΌ νλ μμ€ν μ»΄ν¬λνΈλ₯Ό λ€ μ μλ€. κ²μμμ μΈμ΄ν© κ°μ κ²μ΄ μλ€. (λ³΄ν΅ μΈμ΄λ₯Ό 'μμ΄'λ‘ νλ€ νλ©΄ μ΄λ€ μ€μ μμλ νκ΅μ΄μ΄κ³ , μ΄λ€ μ€μ μμλ μΌλ³Έμ΄μ΄κ³ νλ©΄ μλλκΉ νλμ μΈμ΄λ‘ μ μ§νλ€.) κ·Έλ°λ° μ±κΈν€μΌλ‘ ν΄λμ€λ₯Ό λ§λ€λ©΄ μ΄λ₯Ό μ¬μ©νλ ν΄λΌμ΄μΈνΈλ₯Ό ν μ€νΈνκΈ°κ° μ΄λ €μμ§ μ μλ€. μ±κΈν€ ν΄λμ€ μ€μμλ μΈν°νμ΄μ€λ₯Ό μ μν λ€μ μ΄ μΈν°νμ΄μ€λ₯Ό ꡬνν΄μ λ§λ ν΄λμ€κ° μλλΌλ©΄ μ±κΈν€ μΈμ€ν΄μ€λ₯Ό κ°μ§ mock ꡬνμΌλ‘ λ체ν μ μκΈ° λλ¬Έμ΄λ€... μ±κΈν€ singleton λ§λλ λ°©λ² 1 : pri..
2023.01.09 -
[μ΄νν°λΈ μλ°] Item02 μ벽곡λ΅. κ°λ³ μΈμ varargs
item02. μμ±μμ 맀κ°λ³μκ° λ§λ€λ©΄ λΉλλ₯Ό κ³ λ €νλΌ. " p21. κ°λ³μΈμ 맀κ°λ³μλ₯Ό μ¬λ¬ κ° μ¬μ©ν μ μλ€. " κ°λ³ μΈμ varargsλ? : μ¬λ¬ μΈμλ₯Ό λ°μ μ μλ κ°λ³μ μΈ argumentλ₯Ό λ§νλ€. 맀κ°λ³μλ‘ λ€μ΄μ€λ κ°μ κ°μμ μκ΄μμ΄ λμ μΌλ‘ μΈμλ₯Ό λ°μ κ°λ₯νλλ‘ ν΄μ£Όλ λ¬Έλ²μ΄λ€. κ°λ³μΈμλ νλΌλ―Έν°λ€μ ν΅μ§Έλ‘ λ°°μ΄λ‘ λ°μλ€μ¬ μ²λ¦¬νκΈ° λλ¬Έμ λμ μΌλ‘ 맀κ°λ³μλ₯Ό λ°μ μ μλ€. κ°λ³μΈμλ jdk 1.5 λΆν° μΆκ°λ μ€λμ λΆν° μ¬μ©λ κΈ°λ₯μΌλ‘ λνμ μΈ μλ‘λ System.out.printf() λ©μλκ° κ°λ³μΈμλ₯Ό μ¬μ©ν λ©μλμ΄λ€. κ°λ³ μΈμλ λ©μλμ μ€μ§ νλλ§ μ μΈν μ μκ³ , κ°λ³ μΈμλ λ©μλμ κ°μ₯ λ§μ§λ§ 맀κ°λ³μκ° λμ΄μΌ νλ€. public void printNumer..
2023.01.09 -
[μ΄νν°λΈ μλ°] Item02 μ벽곡λ΅. IllegalArgumentException
item02. μμ±μμ 맀κ°λ³μκ° λ§λ€λ©΄ λΉλλ₯Ό κ³ λ €νλΌ. " p19. IllegalArgumentException" IllegalArgumentException λ? : μ ν©νμ§ μκ±°λ, μ μ νμ§ λͺ»ν μΈμλ₯Ό λ©μλμ λ겨주μμ λ λ°μνλ μλ¬μ΄λ€. μ¦, νλΌλ―Έν°μ λκ° μλͺ»λ κ°μ΄ λμ΄μμ λ λ°μνλ μ€λ₯μ΄λ€. κ·Έλ¬λ―λ‘ λ©μλμ μ λ¬λ νλΌλ―Έν°κ° μ μ λ¬λκ±΄μ§ νμΈμ΄ νμνλ€. 보ν΅μ κ±°μ μλ¬ λ‘κ·Έλ§ μ νμΈν΄λ ν΄κ²° ν μ μλ€. μ΄λ κ² λ°°μ‘μΌμ λ³κ²½νλ λ©μλκ° μλ€κ³ νμ. μ΄λ, deliveryDateκ° νμ¬λ³΄λ€ μ μ΄λΌλ©΄ λ°°μ‘μ κ³Όκ±°λ‘ ν μ μκΈ° λλ¬Έμ IllegalArgumnetExceptionμ ν΅ν΄ νλΌλ―Έν°κ° μλͺ»λλ€κ³ μλ €μ£ΌκΈ° μν΄μ μλ¬λ₯Ό λ°μμν¨λ€. μλ¬λ₯Ό λμ§ λλ κ·Έλ₯ λ¨..
2023.01.09 -
[μ΄νν°λΈ μλ°] Item02 μ벽곡λ΅. λΉλ ν¨ν΄ Builder Pattern
item02. μμ±μμ 맀κ°λ³μκ° λ§λ€λ©΄ λΉλλ₯Ό κ³ λ €νλΌ. " p17. λΉλ ν¨ν΄" [μ΄νν°λΈ μλ°] Item2. μμ±μμ 맀κ°λ³μκ° λ§λ€λ©΄ λΉλλ₯Ό κ³ λ €νλΌ. (λΉλ ν¨ν΄) (tistory.com) [μ΄νν°λΈ μλ°] Item2. μμ±μμ 맀κ°λ³μκ° λ§λ€λ©΄ λΉλλ₯Ό κ³ λ €νλΌ. (λΉλ ν¨ν΄) μμ΄ν 2. μμ±μμ 맀κ°λ³μκ° λ§λ€λ©΄ λΉλλ₯Ό κ³ λ €νλΌ. [μ΄νν°λΈ μλ°] Item2. μμ±μμ 맀κ°λ³μκ° λ§λ€λ©΄ λΉλλ₯Ό κ³ λ €νλΌ. (μ μΈ΅μ μμ±μ ν¨ν΄, μλ°λΉμ¦ ν¨ν΄) (tistory.com) [μ΄νν°λΈ μλ°] Ite hyejin.tistory.com λΉλν¨ν΄ Builder Pattern μ΄λ? : λμΌν νλ‘μΈμ€λ₯Ό κ±°μ³ λ€μν ꡬμ±μ μΈμ€ν΄μ€λ₯Ό λ§λλ λ°©λ² -> 볡μ‘ν κ°μ²΄λ₯Ό λ§λλ νλ‘μΈμ€λ₯Ό λ 립μ μΌλ‘ λΆλ¦¬ν μμλ€..
2023.01.09 -
[μ΄νν°λΈ μλ°] Item02 μ벽곡λ΅. κ°μ²΄ νλ¦¬μ§ (freezing)
item02. μμ±μμ 맀κ°λ³μκ° λ§λ€λ©΄ λΉλλ₯Ό κ³ λ €νλΌ. " p17. κ°μ²΄ μΌλ¦¬κΈ° freezing" κ°μ²΄ μΌλ¦¬κΈ°(freezing) μ΄λ? κ°μ²΄ μΌλ¦¬κΈ° freezingμ μλ°μ€ν¬λ¦½νΈμμ μ¬μ©νλ κΈ°μ μ΄λ€. Objects.freeze() λΌλ λ©μλλ‘ κ°μ²΄λ₯Ό μΌλ¦¬λ κ²μΈλ°, μλ°μ€ν¬λ¦½νΈμμλ μλ°μ λ¬λ¦¬ λ°νμμλ κ°μ²΄μ νλ‘νΌν°λ₯Ό μΆκ°νκ³ μμ ν μ μλ€. var hyejin = { 'name' : 'Hyejin', 'age' : 26 } hyejin.hobby = ['λ μ'] hyejin.hobby.push('μ΄λ') console.log(hyejin.hobby); μ΄λ°μμΌλ‘ μΆκ°νλ©΄ μ·¨λ―Έκ° μΆκ°λλ€. κ·Έλ°λ° Object.freeze() λ‘ κ°μ²΄λ₯Ό μΌλ¦¬λ©΄ μ΄ κ°μ²΄λ λ μ΄μ λ³κ²½λ μ μλ μνκ° λλ€..
2023.01.09 -
[μ΄νν°λΈ μλ°] Item02 μ벽곡λ΅. μλ°λΉ(JavaBean)
item02. μμ±μμ 맀κ°λ³μκ° λ§λ€λ©΄ λΉλλ₯Ό κ³ λ €νλΌ. " p15. μλ°λΉμ¦" μλ°λΉ(Java Bean) μ΄λ? "A Java Bean is a reusable software component that can be manipulated visually in a builder tool" Java Beanμ λΉλ λꡬμμ μκ°μ μΌλ‘ μ‘°μν μμλ μ¬μ¬μ© κ°λ₯ν μννΈμ¨μ΄ ꡬμ±μμλ€. -> (μ£Όλ‘ GUIμμ) μ¬μ¬μ© κ°λ₯ν μννΈμ¨μ΄ μ»΄ν¬λνΈ μλ°λΉ(Java Bean) μ΄ μ§μΌμΌ νλ κ·μ½ - μλ°λΉμ μΈμκ° μλ κΈ°λ³Έ μμ±μ(default constructor)λ₯Ό κ°λλ€. - ν΄λμ€μ νλ‘νΌν°λ€μ Getter/Setter λ₯Ό ν΅ν΄ μ κ·Όν μ μμ΄μΌ νλ€. - Serializable μΈν°νμ΄μ€λ₯Ό ꡬνν΄μΌ..
2023.01.06 -
[μ΄νν°λΈ μλ°] Item2. μμ±μμ 맀κ°λ³μκ° λ§λ€λ©΄ λΉλλ₯Ό κ³ λ €νλΌ. (κ³μΈ΅ν λΉλ)
μμ΄ν 2. μμ±μμ 맀κ°λ³μκ° λ§λ€λ©΄ λΉλλ₯Ό κ³ λ €νλΌ. [μ΄νν°λΈ μλ°] Item2. μμ±μμ 맀κ°λ³μκ° λ§λ€λ©΄ λΉλλ₯Ό κ³ λ €νλΌ. (λΉλ ν¨ν΄) (tistory.com) [μ΄νν°λΈ μλ°] Item2. μμ±μμ 맀κ°λ³μκ° λ§λ€λ©΄ λΉλλ₯Ό κ³ λ €νλΌ. (λΉλ ν¨ν΄) μμ΄ν 2. μμ±μμ 맀κ°λ³μκ° λ§λ€λ©΄ λΉλλ₯Ό κ³ λ €νλΌ. [μ΄νν°λΈ μλ°] Item2. μμ±μμ 맀κ°λ³μκ° λ§λ€λ©΄ λΉλλ₯Ό κ³ λ €νλΌ. (μ μΈ΅μ μμ±μ ν¨ν΄, μλ°λΉμ¦ ν¨ν΄) (tistory.com) [μ΄νν°λΈ μλ°] Ite hyejin.tistory.com μ΄νν°λΈ μλ°μμλ μμ±μμ 맀κ°λ³μκ° λ§λ€λ©΄ μ μΈ΅μ μμ±μ ν¨ν΄μ΄λ μλ°λΉμ¦ ν¨ν΄λ³΄λ€λ λΉλν¨ν΄ μ¬μ©μ κΆμ₯νκ³ μλ€. μ΄ λΉλν¨ν΄μ κ³μΈ΅μ μΌλ‘ μ€κ³λ ν΄λμ€μ ν¨κ» μ°κΈ°μ μ’λ€. μΆμ ν΄λμ€λ μΆ..
2023.01.06