JAVA(143)
-
[μ΄νν°λΈ μλ°] Item01 μ벽곡λ΅. νλΌμ΄μ¨μ΄νΈ ν¨ν΄ Flyweight ν¨ν΄
item01. μμ±μ λμ μ μ ν©ν°λ¦¬ λ©μλλ₯Ό κ³ λ €νλΌ. " p9. κ°μ κ°μ²΄κ° μμ£Ό μμ²λλ μν©μ΄λΌλ©΄ νλΌμ΄μ¨μ΄νΈ ν¨ν΄μ μ¬μ©ν μ μλ€." Flyweight Pattern μ΄λ? : κ°μ²΄λ₯Ό κ°λ³κ² λ§λ€μ΄ λ©λͺ¨λ¦¬ μ¬μ©μ μ€μ΄λ ν¨ν΄μΌλ‘ μμ£Ό λ³νλ μμ±κ³Ό λ³νμ§ μλ μμ±μ λΆλ¦¬νκ³ μ¬μ¬μ©νμ¬ λ©λͺ¨λ¦¬ μ¬μ©μ μ€μΌ μ μλ€. https://velog.io/@hoit_98/%EB%94%94%EC%9E%90%EC%9D%B8-%ED%8C%A8%ED%84%B4-Flyweight-%ED%8C%A8%ED%84%B4 [λμμΈ ν¨ν΄] Flyweight ν¨ν΄ Flyweight(νλΌμ΄μ¨μ΄νΈ) ν¨ν΄ β μΈμ€ν΄μ€λ₯Ό κ°λ₯ν ν 곡μ ν΄μ μ¬μ©ν¨μΌλ‘μ¨ λ©λͺ¨λ¦¬λ₯Ό μ μ½νλ ν¨ν΄ πΏ λ¬Έμ μν© β λ§μΈν¬λννΈ κ²μμ λ무λ₯Ό μ€μΉνκ³ ..
2023.01.03 -
[μ΄νν°λΈ μλ°] Item01 μ벽곡λ΅. μ΄κ±°νμ Enumeration
item01. μμ±μ λμ μ μ ν©ν°λ¦¬ λ©μλλ₯Ό κ³ λ €νλΌ. "p9. μ΄κ±° νμ μ μΈμ€ν΄νΈκ° νλλ§ λ§λ€μ΄μ§μ 보μ₯νλ€." μ΄κ±° νμ μ΄λ? : μλ‘ μ°κ΄λ μμμ μ§ν©μ μ μ₯νλ μλ£ν, μμ λͺ©λ‘μ λ΄μ μ μλ λ°μ΄ν° νμ νμ λ λ°μ΄ν°λ₯Ό μ μ₯νκΈ° μν μλ£νμΌλ‘ κ°μ μ νν μ μλ€. μ΄κ±° νμ μ νΉμ ν λ³μκ° κ°μ§ μ μλ κ°μ μ ν ν μ μλ€. OrderStatusλΌλ Enum μ PREPARRING, SHIPPED, DELIVERING, DELIVERED μ΄λ κ² κ°μ μ νλ€λ©΄ Orderμμ OrderStatus κ°μ 4κ°μ§ μν κ° λ§κ³ λ€λ₯Έ κ°μ μ λ ₯ν μ μλλ‘ κ°μ μ νν μ μλ€. μ΄κ±°νμ μ μ¬μ©νμ§ μκ³ , κΈ°λ³Έ μλ£νμΌλ‘ μ΄λ κ² μ§μ ν΄μ£Όλ©΄ 200 λ± λ€λ₯Έ κ°μ΄ λ€μ΄κ° μ μκΈ° λλ¬Έμ ..
2023.01.03 -
[μ΄νν°λΈ μλ°] νλΌμ΄μ¨μ΄νΈ ν¨ν΄ flyWeight pattern
νλΌμ΄μ¨μ΄νΈ ν¨ν΄ Flyweight Pattern - λμμΈ ν¨ν΄ μ€ νλλ‘ κ°μ²΄λ₯Ό μ¬μ¬μ©νκΈ° μν λ°©λ² μ€ νλ - κ°μ²΄λ₯Ό κ°λ³κ² λ§λ€μ΄ λ©λͺ¨λ¦¬ μ¬μ©λμ μ€μ΄κΈ° μν ν¨ν΄ - μμ£Ό λ³νλ μμ±(λλ μΈμ μΈ μμ±)κ³Ό λ³νμ§ μλ μμ±(λλ λ΄μ μΈ μμ±)μ λΆλ¦¬νκ³ μ¬μ¬μ©νμ¬ λ©λͺ¨λ¦¬ μ¬μ©μ μ€μΌ μ μλ€. ν¨μ μ μ© μ ν¨μ μ μ© ν fontsize, fontfamliyλ₯Ό λ¬Άμ΄μ FontλΌλ ν΄λμ€λ₯Ό λ§λ€μλ€. κ·Έλ¦¬κ³ fontFactoryμ getFont λ©μλλ₯Ό λ§λ€μ΄μ λ°λ³΅λλ κ°μ μ¬μ¬μ©ν μ μλλ‘ νλ€. μ΄λ μ μ ν©ν°λ¦¬ λ©μλλ₯Ό μ¬μ©ν΄μ ν μλ μλ€. νλΌμ΄μ¨μ΄νΈ ν¨ν΄μ λ°λ‘ λμμΈν¨ν΄ κ°μμμ μκ°λ₯Ό νκ³ μλ€κ³ ν΄μ λ€μ νλ² κ³΅λΆλ ν΄μΌκ² λ€. κ·Έλ₯ μ¬κΈ°μλ κ°μ²΄λ₯Ό μ¬μ¬μ©νκΈ° μν λ°©λ² μ€..
2022.08.31 -
[μ΄νν°λΈ μλ°] Enum μ΄κ±° νμ
μ΄κ±° νμ Enumeration - μμ λͺ©λ‘μ λ΄μ μ μλ λ°μ΄ν° νμ - νΉμ ν λ³μκ° κ°μ§ μ μλ κ°μ μ νν μ μλ€. - > Type-safe λ₯Ό 보μ₯ν μ μλ€. (λ³μκ° κ°μ§ μ μλ κ°μ μ νν΄μ λ€λ₯Έ κ°μ μ λ ₯ λͺ»νκΈ° λλ¬Έ) - μ±κΈν€ ν¨ν΄μ ꡬνν λ μ¬μ©νκΈ°λ νλ€. μ§λ¬Έ1) νΉμ enum νμ μ΄ κ°μ§ μ μλ λͺ¨λ κ°μ μννλ©° μΆλ ₯νλΌ. -> Enumμ values() λ©μλλ₯Ό μλμ§ λ¬Όμ΄λ³΄λ μ§λ¬Έ μ§λ¬Έ2) enumμ μλ°μ ν΄λμ€μ²λΌ μμ±μ, λ©μλ, νλλ₯Ό κ°μ§ μ μλκ°? λΉμ°ν μ¬μ©ν μ μλ€. μμ μμλ λμΆ© numberλΌλ νλλ₯Ό κ°μ§κ³ , μμ±μλ₯Ό μμ±νλ€. μ§λ¬Έ3) enumμ κ°μ == μ°μ°μλ‘ λμΌμ±μ λΉκ΅ν μ μλκ°? equalsλ³΄λ€ ==λ₯Ό κΆμ₯νλ μ΄μ λ μ΄..
2022.08.31 -
[μ΄νν°λΈ μλ°] Item1. μμ±μ λμ μ μ ν©ν°λ¦¬ λ©μλλ₯Ό κ³ λ €νλΌ.
2μ₯. κ°μ²΄ μμ±κ³Ό νκ΄΄ μμ΄ν 1. μμ±μ λμ μ μ ν©ν°λ¦¬ λ©μλλ₯Ό κ³ λ €νλΌ. κΈ°λ³Έμ μΌλ‘ ν΄λΌμ΄μΈνΈκ° ν΄λμ€μ μΈμ€ν΄μ€λ₯Ό μ»λ λ°©λ² μ€ νν μ¬μ©νλ λ°©λ²μ public μμ±μμ΄λ€. λ€λ₯Έ λ°©λ² μ€ κΌ μμλ¬μΌ νλ λ°©λ²μ μ μ νν°λ¦¬ λ©μλλ₯Ό μ¬μ©νλ λ°©λ²μ΄λ€. ν΄λμ€λ μμ±μμ λ³λλ‘ μ μ ν©ν°λ¦¬ λ©μλ(static factory method)λ₯Ό μ 곡ν μ μλ€. (ν΄λμ€μ μΈμ€ν΄μ€λ₯Ό λ°ννλ λ¨μν μ μ λ©μλ) -> Booleanμ valueof() λ©μλμμ λ³Ό μ μλ―μ΄ κΈ°λ³Έ νμ μΈ boolean b κ°μ λ°μ Boolean κ°μ²΄ μ°Έμ‘°λ‘ λ³νν΄μ€λ€. βοΈ μ£Όμ μ μ ν©ν°λ¦¬ λ©μλλ λμμΈ ν¨ν΄μ ν©ν°λ¦¬ λ©μλμλ λ€λ₯Έ κ²μΌλ‘ ν·κ°λ¦¬λ©΄ μλλ€. ν΄λμ€λ ν΄λΌμ΄μΈνΈμκ² public μμ μ λμ λ..
2022.08.31 -
[JAVA] 25. μ€νΈλ¦Όμ μ΅μ’ μ°μ° (forEach(), reduce(), collect(), groupingBy(), partioningBy()..)
https://hyejin.tistory.com/605 [JAVA] 24. μ€νΈλ¦Όμ μ€κ°μ°μ°, Optional, OptionalInt https://hyejin.tistory.com/604 Function μΈν°νμ΄" data-og-host="hyejin.tistory.com" data-og-source-url="https://hyejin.tistory.com/604" data-og-url="https://hyejin.tistory.com/604" data-og-image="ht.. hyejin.tistory.com 1οΈβ£ μ€νΈλ¦Όμ μ΅μ’ μ°μ° μ΅μ’ μ°μ°μ μ€νΈλ¦Όμ μμλ₯Ό μλͺ¨ν΄μ κ²°κ³Όλ₯Ό λ§λ€μ΄ λΈλ€. κ·Έλμ μ΅μ’ μ°μ° νμλ μ€νΈλ¦Όμ΄ λ«νκ² λκ³ , λ μ΄μ μ¬μ©ν μ μλ€. λ°λΌμ μ΅μ’ μ°μ°μ κ²°κ³Όλ μ€νΈ..
2022.06.08 -
[JAVA] 24. μ€νΈλ¦Όμ μ€κ°μ°μ°, Optional<T>, OptionalInt
https://hyejin.tistory.com/604 [JAVA] 23. λ©μλ μ°Έμ‘°, μ€νΈλ¦Ό(Stream) 1οΈβ£ λ©μλ μ°Έμ‘° λλ€μμμ λλ€μμ΄ νλμ λ©μλλ§ νΈμΆνλ κ²½μ°μλ 'λ©μλ μ°Έμ‘°(method reference)'λΌλ λ°©λ²μΌλ‘ λλ€μμ κ°λ΅ν ν μ μλ€. ν΄λμ€μ΄λ¦::λ©μλμ΄λ¦ -> Function μΈν°νμ΄ hyejin.tistory.com 1οΈβ£ μ€νΈλ¦Όμ μ€κ°μ°μ° - μ€νΈλ¦Ό μλ₯΄κΈ° skip(), limit() skip()κ³Ό limt()μ μ€νΈλ¦Όμ μΌλΆλ₯Ό μλΌλΌ λ μ¬μ© skip(3)μ μ²μ 3κ°μ μμλ₯Ό 건λλ°κ³ , limit(5)μ μ€νΈλ¦Όμ μμλ₯Ό 5κ°λ‘ μ ννλ€. - μ€νΈλ¦Όμ μμ κ±Έλ¬λ΄κΈ° filter(), distinct() distinct() λ μ€νΈλ¦Όμμ μ€λ³΅λ μμλ€μ μ κ±°..
2022.06.06 -
[JAVA] 23. λ©μλ μ°Έμ‘°, μ€νΈλ¦Ό(Stream)
1οΈβ£ λ©μλ μ°Έμ‘° λλ€μμμ λλ€μμ΄ νλμ λ©μλλ§ νΈμΆνλ κ²½μ°μλ 'λ©μλ μ°Έμ‘°(method reference)'λΌλ λ°©λ²μΌλ‘ λλ€μμ κ°λ΅ν ν μ μλ€. ν΄λμ€μ΄λ¦::λ©μλμ΄λ¦ -> Function μΈν°νμ΄μ€μ μ§μ λ μ§λ€λ¦ νμ μΌλ‘ λλ€μμ μΌλΆλ₯Ό μΆμΈ‘ν μ μκΈ° λλ¬Έμ μλ΅ν μ μλ€. μ°Έμ‘°λ³μ fμ νμ λ§ λ΄λ λλ€μμ΄ νκ°μ Stringμ 맀κ°λ³μλ‘ λ°λ κ²μ μ μ μκΈ° λλ¬Έμ λλ€μμ 맀κ°λ³μλ€μ μμ΄λ λλ€. -> μμ±μλ₯Ό νΈμΆνλ λλ€μλ λ©μλ μ°Έμ‘°λ‘ λ³νν μ μλ€. -> 맀κ°λ³μκ° μλ μμ±μλΌλ©΄ 맀κ°λ³μμ κ°μμ λ°λΌ μλ§μ ν¨μν μΈν°νμ΄μ€λ₯Ό μ¬μ©νλ©΄ λλ€. -> λ°°μ΄μ μμ±ν λλ λ©μλ μ°Έμ‘°λ₯Ό μ¬μ©ν κ²μΌλ‘ μ΄κ±° λ§μ΄ μ¬μ©νλ€κ³ νλ€. 2οΈβ£ μ€νΈλ¦Ό (Stream) ..
2022.06.05 -
[JAVA] 22. λλ€μ (Lambda Expression)
1οΈβ£ λλ€μμ΄λ? λλ€μμ΄λ λ©μλλ₯Ό νλμ μμΌλ‘ ννν κ²μ΄λ€. λλ€μμ ν¨μλ₯Ό κ°λ΅νλ©΄μλ λͺ νν μμΌλ‘ ννν μ μκ² ν΄μ€λ€. λ©μλλ₯Ό λλ€μμΌλ‘ νννλ©΄ λ©μλμ μ΄λ¦κ³Ό λ°νκ°μ΄ μμ΄μ§λ―λ‘ λλ€μμ μ΅λͺ ν¨μλΌκ³ λ νλ€. βλ©μλμ ν¨μμ μ°¨μ΄ λ©μλμ ν¨μλ 근볡μ μΌλ‘λ λμΌνλ ν¨μλ μΌλ°μ μΈ μ©μ΄μ΄κ³ λ©μλλ κ°μ²΄μ§ν₯ μ©μ΄μ΄λ€. ν¨μλ ν΄λμ€μ λ 립μ μ΄λ λ©μλλ ν΄λμ€μ μ’ μμ μ΄λ€. - λλ€μ μμ±νκΈ° λλ€μμ μ΅λͺ ν¨μ λ΅κ² λ©μλμμ μ΄λ¦κ³Ό λ°ννμ μ μ κ±°νκ³ λ§€κ°λ³μ μ μΈλΆμ λͺΈν΅{} μ¬μ΄μ -> λ₯Ό μΆκ°ν΄μ£Όλ©΄ λλ€. κ·Έλ¦¬κ³ λ°νκ°μ΄ μλ λ©μλμ κ²½μ°μ return λ¬Έ λμ μμΌλ‘ λμ ν μ μλ€. λλ€μμ μ μΈλ 맀κ°λ³μμ νμ μ μΆλ‘ μ΄ κ°λ₯ν κ²½μ°λ μλ΅ν μ μλλ° λλΆλΆ μ..
2022.06.01 -
[JAVA] 21. μ°λ λ μ€ν μ μ΄ λ©μλ(sleep ,interrupt, stop, suspend, resume, join, yield)
https://hyejin.tistory.com/594 [JAVA] 20. μ°λ λ Thread 1οΈβ£ νλ‘μΈμ€μ μ°λ λ νλ‘μΈμ€ Processλ 'μ€νμ€μΈ νλ‘κ·Έλ¨'μ΄λ€. νλ‘κ·Έλ¨μ μ€ννλ©΄ os λ‘λΆν° μ€νμ νμν μμ(λ©λͺ¨λ¦¬)λ₯Ό ν λΉλ°μ νλ‘μΈμ€κ° λλ€. νλ‘μΈμ€λ νλ‘κ·Έλ¨μ μνν hyejin.tistory.com 1οΈβ£ sleep(long mills) : μΌμ μκ°λμ μ°λ λλ₯Ό λ©μΆκ² νλ€. sleep()μ μν΄ μΌμμ μ§ μνκ° λ μ°λ λλ μ§μ λ μκ°μ΄ λ€ λκ±°λ interrupt()κ° νΈμΆλλ©΄ (interruptedException λ°μ), μ μμ κΉ¨μ΄λ μ€νλκΈ° μνκ° λλ€. κ·Έλμ sleep()μ νΈμΆν λλ νμ try-catchλ¬ΈμΌλ‘ μμΈλ₯Ό μ²λ¦¬ν΄μ€μΌ νλ€. -> th1μ΄ κ°μ₯ λ¨Όμ μ’ ..
2022.05.29 -
[JAVA] 20. μ°λ λ Thread
1οΈβ£ νλ‘μΈμ€μ μ°λ λ νλ‘μΈμ€ Processλ 'μ€νμ€μΈ νλ‘κ·Έλ¨'μ΄λ€. νλ‘κ·Έλ¨μ μ€ννλ©΄ os λ‘λΆν° μ€νμ νμν μμ(λ©λͺ¨λ¦¬)λ₯Ό ν λΉλ°μ νλ‘μΈμ€κ° λλ€. νλ‘μΈμ€λ νλ‘κ·Έλ¨μ μννλλ° νμν λ°μ΄ν°μ λ©λͺ¨λ¦¬ λ±μ μμ κ·Έλ¦¬κ³ μ°λ λλ‘ κ΅¬μ±λμ΄ μμΌλ©°, νλ‘μΈμ€μ μμμ μ΄μ©ν΄μ μ€μ λ‘ μμ μ μννλ κ²μ΄ λ°λ‘ μ°λ λμ΄λ€. λͺ¨λ νλ‘μΈμ€λ μ΅μν νλ μ΄μμ μ°λ λκ° μ‘΄μ¬νκ³ , λ μ΄μμ μ°λ λλ₯Ό κ°μ§ νλ‘μΈμ€λ₯Ό λ©ν°μ°λ λ νλ‘μΈμ€λΌκ³ νλ€. νλμ νλ‘μΈμ€κ° κ°μ§ μ μλ μ°λ λμ κ°μλ μ νλμ΄ μμ§λ μμ§λ§ μ°λ λκ° μμ μ μννλλ° κ°λ³μ μΈ λ©λͺ¨λ¦¬ 곡κ°(νΈμΆ μ€ν)μ νμλ‘ νκΈ° λλ¬Έμ νλ‘μΈμ€μ λ©λͺ¨λ¦¬ νκ³μ λ°λΌ μμ±ν μ μλ μ°λ λμ μκ° κ²°μ λλ€. - λ©ν°νμ€νΉκ³Ό λ©ν°μ°λ λ©..
2022.05.22 -
[JAVA] 20. μ λν μ΄μ Annotation, λ©ν μ λν μ΄μ , νλ‘μΈμ€μ μ°λ λ
https://hyejin.tistory.com/587 [JAVA] 19. μ§λ€λ¦μ€ Generics(μμΌλ μΉ΄λ, μ§λ€λ¦ λ©μλ, μ§λ€λ¦ νμ μ νλ³ν, μ§λ€λ¦ νμ μ μ https://hyejin.tistory.com/586 [JAVA] 18. μ§λ€λ¦μ€ Generics 1οΈβ£ μ§λ€λ¦μ€ Generics μ§λ€λ¦μ€λ λ€μν νμ μ κ°μ²΄λ€μ λ€λ£¨λ λ©μλλ 컬λ μ ν΄λμ€μ μ»΄νμΌ μμ νμ 체ν¬λ₯Ό ν΄μ£Όλ κΈ°λ₯μ΄λ€. κ°μ²΄μ hyejin.tistory.com 1οΈβ£ νμ€ μ λν μ΄μ annotation @Override : λ©μλ μμλ§ λΆμΌ μ μλ μ λν μ΄μ μΌλ‘, μ‘°μμ λ©μλλ₯Ό μ€λ²λΌμ΄λ©νλ κ²μ΄λΌλ κ±Έ μ»΄νμΌλ¬μκ² μλ €μ£Όλ μν μ νλ€. @Deprecated : λ μ΄μ μ¬μ©λμ§ μλ νλλ λ©μλμ @De..
2022.05.17