λΆλ₯ μ 체보기(655)
-
[μ΄νν°λΈ μλ°] Item21 μ벽곡λ΅. ConcurrentModificationException
item21. μΈν°νμ΄μ€λ ꡬννλ μͺ½μ μκ°ν΄ μ€κ³νλΌ. " p.137. ConcurrentModificationException" ConcurrentModificationException : This exception may be thrown by methods that have detected concurrent modification of an object when such modification is not permissible. νμ¬ λ°λλ©΄ μλλ κ²μ μμ ν λ λ°μνλ μμΈ https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/ConcurrentModificationException.html ConcurrentModi..
2023.03.07 -
[μ΄νν°λΈ μλ°] Item21. μΈν°νμ΄μ€λ ꡬννλ μͺ½μ κ³ λ €ν΄ μ€κ³νλΌ.
[μ΄νν°λΈ μλ°] Item21. μΈν°νμ΄μ€λ ꡬννλ μͺ½μ κ³ λ €ν΄ μ€κ³νλΌ. μλ°8 μ μλ μΈν°νμ΄μ€μ λ©μλλ₯Ό μΆκ°ν λ°©λ²μ΄ μμλλ° μλ° 8μ μμ κΈ°μ‘΄ μΈν°νμ΄μ€μ λ©μλλ₯Ό μΆκ°ν μ μκ² λλ€. λν΄νΈ λ©μλλ‘ μ μΈνλ©΄ κ·Έ μΈν°νμ΄μ€λ₯Ό ꡬνν ν λν΄νΈ λ©μλλ₯Ό μ¬μ μνμ§ μμ λͺ¨λ ν΄λμ€μμ λν΄νΈ ꡬνμ΄ μ°μ΄κ² λλ€. μ΄μ μλ°μμλ κΈ°μ‘΄ μΈν°νμ΄μ€μ λ©μλλ₯Ό μΆκ°ν μ μμ§λ§ λͺ¨λ κΈ°μ‘΄ ꡬν체λ€κ³Ό 맀λλ½κ² μ°λλλ€λ 보μ₯μ μλ€. - κΈ°μ‘΄ μΈν°νμ΄μ€μ λν΄νΈ λ©μλ ꡬνμ μΆκ°νλ κ²μ μνν μΌμ΄λ€. κΈ°μ‘΄ μΈν°νμ΄μ€μ λν΄νΈ λ©μλ ꡬνμ μΆκ°νλ κ²μ μννκΈ΄νλ€. μλνλ©΄ λν΄νΈ λ©μλλ ꡬν ν΄λμ€μ λν΄ μ무κ²λ λͺ¨λ₯Έ μ± ν©μ μμ΄ λ¬΄μμ μ½μ λκΈ° λλ¬Έμ΄λ€. μλ° λΌμ΄λΈλ¬λ¦¬μ λν΄νΈ..
2023.03.07 -
[νλ‘κ·Έλλ¨Έμ€] Lv2. κ·€ κ³ λ₯΄κΈ°
λ¬Έμ μ€λͺ κ²½νλ κ³Όμμμμ κ·€μ μννμ΅λλ€. κ²½νλ μνν κ·€ μ€ 'k'κ°λ₯Ό κ³¨λΌ μμ νλμ λ΄μ ν맀νλ €κ³ ν©λλ€. κ·Έλ°λ° μνν κ·€μ ν¬κΈ°κ° μΌμ νμ§ μμ 보기μ μ’μ§ μλ€κ³ μκ°ν κ²½νλ κ·€μ ν¬κΈ°λ³λ‘ λΆλ₯νμ λ μλ‘ λ€λ₯Έ μ’ λ₯μ μλ₯Ό μ΅μννκ³ μΆμ΅λλ€. μλ₯Ό λ€μ΄, κ²½νκ° μνν κ·€ 8κ°μ ν¬κΈ°κ° [1, 3, 2, 5, 4, 5, 2, 3] μ΄λΌκ³ ν©μλ€. κ²½νκ° κ·€ 6κ°λ₯Ό ν맀νκ³ μΆλ€λ©΄, ν¬κΈ°κ° 1, 4μΈ κ·€μ μ μΈν μ¬μ― κ°μ κ·€μ μμμ λ΄μΌλ©΄, κ·€μ ν¬κΈ°μ μ’ λ₯κ° 2, 3, 5λ‘ μ΄ 3κ°μ§κ° λλ©° μ΄λκ° μλ‘ λ€λ₯Έ μ’ λ₯κ° μ΅μμΌ λμ λλ€. κ²½νκ° ν μμμ λ΄μΌλ €λ κ·€μ κ°μ kμ κ·€μ ν¬κΈ°λ₯Ό λ΄μ λ°°μ΄ tangerineμ΄ λ§€κ°λ³μλ‘ μ£Όμ΄μ§λλ€. κ²½νκ° κ·€ kκ°λ₯Ό κ³ λ₯Ό λ ν¬κΈ°κ°..
2023.03.07 -
[νλ‘κ·Έλλ¨Έμ€] Lv1. λ¬Έμμ΄ λ΄ λ§μλλ‘ μ λ ¬νκΈ°
λ¬Έμ μ€λͺ λ¬Έμμ΄λ‘ ꡬμ±λ 리μ€νΈ stringsμ, μ μ nμ΄ μ£Όμ΄μ‘μ λ, κ° λ¬Έμμ΄μ μΈλ±μ€ nλ²μ§Έ κΈμλ₯Ό κΈ°μ€μΌλ‘ μ€λ¦μ°¨μ μ λ ¬νλ € ν©λλ€. μλ₯Ό λ€μ΄ stringsκ° ["sun", "bed", "car"]μ΄κ³ nμ΄ 1μ΄λ©΄ κ° λ¨μ΄μ μΈλ±μ€ 1μ λ¬Έμ "u", "e", "a"λ‘ stringsλ₯Ό μ λ ¬ν©λλ€. μ ν 쑰건 stringsλ κΈΈμ΄ 1 μ΄μ, 50μ΄νμΈ λ°°μ΄μ λλ€. stringsμ μμλ μλ¬Έμ μνλ²³μΌλ‘ μ΄λ£¨μ΄μ Έ μμ΅λλ€. stringsμ μμλ κΈΈμ΄ 1 μ΄μ, 100μ΄νμΈ λ¬Έμμ΄μ λλ€. λͺ¨λ stringsμ μμμ κΈΈμ΄λ nλ³΄λ€ ν½λλ€. μΈλ±μ€ 1μ λ¬Έμκ° κ°μ λ¬Έμμ΄μ΄ μ¬λΏ μΌ κ²½μ°, μ¬μ μμΌλ‘ μμ λ¬Έμμ΄μ΄ μμͺ½μ μμΉν©λλ€. μ μΆλ ₯ μ strings n return ["sun", "b..
2023.03.07 -
[μ΄νν°λΈ μλ°] Item20 μ벽곡λ΅. λν΄νΈ λ©μλμ Object λ©μλ
item20. μΆμν΄λμ€λ³΄λ€ μΈν°νμ΄μ€λ₯Ό μ°μ νλΌ. " p.135 λν΄νΈ λ©μλλ equals, hashCode, toString κ°μ Object λ©μλλ₯Ό μ¬μ μν μ μκΈ° λλ¬Έμ΄λ€." public interface MyInterface { default String toString() { return "myString"; } default int hashCode() { return 10; } default boolean equals(Object o) { return true; } } μ΄λ κ² μΈν°νμ΄μ€μ Object λ©μλλ₯Ό μ¬μ μνλ €κ³ νλ©΄ Default method 'toString' overrides a member of 'java.lang.Object' λΌκ³ μ»΄νμΌ μλ¬κ° λ°μνλ€. μ¬μ€ μΈν°ν..
2023.03.06 -
[μ΄νν°λΈ μλ°] Item20 μ벽곡λ΅. ν νλ¦Ώ λ©μλ ν¨ν΄
item20. μΆμν΄λμ€λ³΄λ€ μΈν°νμ΄μ€λ₯Ό μ°μ νλΌ. " p.132 ν νλ¦Ώ λ©μλ ν¨ν΄" π ν νλ¦Ώ λ©μλ ν¨ν΄μ΄λ? : μκ³ λ¦¬μ¦ κ΅¬μ‘°λ₯Ό μλΈ ν΄λμ€κ° νμ₯ν μ μλλ‘ ν νλ¦ΏμΌλ‘ μ 곡νλ λ°©λ² μ 체μ μΌλ‘λ λμΌνλ° λΆλΆμ μΌλ‘ λ€λ₯Έ λΆλΆμ λ°λ‘ νμ₯ν΄μ μμ±ν μ μλλ‘ λμμ£Όλ λ°©λ²μΌλ‘ μ½λ μ€λ³΅μ μ΅μνν μ μλ€! public abstract class FileProcessor { private String path; public FileProcessor(String path) { this.path = path; } // templateMethod() public final int process() { try(BufferedReader reader = new BufferedReader(new File..
2023.03.06 -
[μ΄νν°λΈ μλ°] Item20. μΆμν΄λμ€λ³΄λ€ μΈν°νμ΄μ€λ₯Ό μ°μ νλΌ. (μΈν°νμ΄μ€μ μΆμ 골격 skeletal ν΄λμ€)
[μ΄νν°λΈ μλ°] Item20. μΆμν΄λμ€λ³΄λ€ μΈν°νμ΄μ€λ₯Ό μ°μ νλΌ. [μ΄νν°λΈ μλ°] Item20. μΆμν΄λμ€λ³΄λ€ μΈν°νμ΄μ€λ₯Ό μ°μ νλΌ. (tistory.com) [μ΄νν°λΈ μλ°] Item20. μΆμν΄λμ€λ³΄λ€ μΈν°νμ΄μ€λ₯Ό μ°μ νλΌ. [μ΄νν°λΈ μλ°] Item20. μΆμν΄λμ€λ³΄λ€ μΈν°νμ΄μ€λ₯Ό μ°μ νλΌ. μλ°κ° μ 곡νλ λ€μ€ ꡬν λ©μ»€λμ¦μΌλ‘λ μΆμν΄λμ€μ μΈν°νμ΄μ€ μ΄λ κ² λκ°μ§κ° μλ€. μλ° 8λΆν° μΈν°νμ΄μ€λ λν΄νΈ hyejin.tistory.com λ¨Όμ μΆμ ν΄λμ€λ³΄λ€ μΈν°νμ΄μ€λ₯Ό μ°μ νκΈ° μν΄ μΈν°νμ΄μ€μ μ₯μ μ λν΄μ 곡λΆνλ€. κ·Έλ°λ° μ΄μ μΈν°νμ΄μ€μ μΆμ 골격(skeltal implementation) ν΄λμ€λ₯Ό ν¨κ» μ 곡νλ μμΌλ‘ μΈν°νμ΄μ€μ μΆμ ν΄λμ€μ μ₯μ μ λͺ¨λ μ·¨νλ λ°©λ²λ μλ€...
2023.03.06 -
[μ΄νν°λΈ μλ°] Item20. μΆμν΄λμ€λ³΄λ€ μΈν°νμ΄μ€λ₯Ό μ°μ νλΌ.
[μ΄νν°λΈ μλ°] Item20. μΆμν΄λμ€λ³΄λ€ μΈν°νμ΄μ€λ₯Ό μ°μ νλΌ. μλ°κ° μ 곡νλ λ€μ€ ꡬν λ©μ»€λμ¦μΌλ‘λ μΆμν΄λμ€μ μΈν°νμ΄μ€ μ΄λ κ² λκ°μ§κ° μλ€. μλ° 8λΆν° μΈν°νμ΄μ€λ λν΄νΈ λ©μλ default method λ₯Ό μ 곡ν μ μκ² λλ©΄μ μ΄μ λ λ λ©μ»€λμ¦ λͺ¨λ μΈμ€ν΄μ€ λ©μλλ₯Ό ꡬν ννλ‘ μ 곡ν μ μλ€. μΆμν΄λμ€μ μΈν°νμ΄μ€μ ν° μ°¨μ΄μ μΌλ‘λ μΆμν΄λμ€κ° μ μν νμ μ ꡬννλ ν΄λμ€λ λ°λμ μΆμν΄λμ€μ νμ ν΄λμ€κ° λμ΄μΌ νλ€λ μ μ΄λ€. μλ°λ λ¨μΌ μμλ§ μ§μνκΈ° λλ¬Έμ μΆμ ν΄λμ€ λ°©μμ μλ‘μ΄ νμ μ μ μνλλ° μ»€λ€λ μ μ½μ μ»κ² λλ€. λ°λ©΄ μΈν°νμ΄μ€κ° μ μΈν λ©μλλ₯Ό λͺ¨λ μ μνκ³ κ·Έ μΌλ° κ·μ½μ μ μ§ν¨ ν΄λμ€λΌλ©΄ λ€λ₯Έ μ΄λ€ ν΄λμ€λ₯Ό μμνλ κ°μ νμ μΌλ‘ μ·¨κΈλλ€. ..
2023.03.03 -
[μ΄νν°λΈ μλ°] Item19. μμμ κ³ λ €ν΄ μ€κ³νκ³ λ¬ΈμννλΌ. κ·Έλ μ§ μμλλΌλ©΄ μμμ κΈμ§νλΌ.
[μ΄νν°λΈ μλ°] Item19. μμμ κ³ λ €ν΄ μ€κ³νκ³ λ¬ΈμννλΌ. κ·Έλ μ§ μμλλΌλ©΄ μμμ κΈμ§νλΌ. [μ΄νν°λΈ μλ°] Item18. μμ보λ€λ μ»΄ν¬μ§μ μ μ¬μ©νλΌ. (tistory.com) [μ΄νν°λΈ μλ°] Item18. μμ보λ€λ μ»΄ν¬μ§μ μ μ¬μ©νλΌ. [μ΄νν°λΈ μλ°] Item18. μμ보λ€λ μ»΄ν¬μ§μ μ μ¬μ©νλΌ. μμμ μ¬μ©νλ©΄ μ½λλ₯Ό μ¬μ¬μ©ν μ μμ§λ§, μλͺ» μμνλ©΄ μ€λ₯κ° λ°μν μ μλ€. μμ ν΄λμ€μ νμ ν΄λμ€κ° λͺ¨λ κ°μ νλ‘κ·Έλ hyejin.tistory.com item18μμλ μμμ μΌλμ λμ§ μκ³ μ€κ³νκ³ μμν λ μ£Όμμ λ λ¬Έμνν΄λμ§ μμ μΈλΆ ν΄λμ€λ₯Ό μμν λμ λ¬Έμ μ μ λν΄μ μκΈ°νκ³ μλ€. (μ΄λ 'μΈλΆ'λ νλ‘κ·Έλλ¨Έμ ν΅μ κΆ λ°μ μμ΄μ μΈμ μ΄λ»κ² λ³κ²½λ μ§ λͺ¨λ₯΄..
2023.03.03 -
[μ΄νν°λΈ μλ°] Item18 μ벽곡λ΅. μ½λ°± νλ μμν¬μ μ ν λ¬Έμ
item18. μμ보λ€λ μ»΄ν¬μ§μ μ μ¬μ©νλΌ. " p.119 μ½λ°± νλ μμν¬μ μ νλ¬Έμ " λνΌν΄λμ€μλ λ¨μ μ΄ κ±°μ μλλ°, νκ°μ§ μλ€λ©΄ λνΌ ν΄λμ€κ° μ½λ°± callback νλ μμν¬μλ μ΄μΈλ¦¬μ§ μλλ€λ μ λ§ μ£Όμνλ©΄ λλ€. μ½λ°± νλ μμν¬μμλ μκΈ° μμ μ μ°Έμ‘°λ₯Ό λ€λ₯Έ κ°μ²΄μ λ겨μ λ€μ νΈμΆ(μ½λ°±)λ μ¬μ©νλλ‘ νλ€. λ΄λΆ κ°μ²΄λ κ·Όλ° μμ μ κ°μΈκ³ μλ λνΌμ μ‘΄μ¬λ₯Ό λͺ¨λ₯΄κΈ° λλ¬Έμ μκΈ° μμ thisλ₯Ό μ°Έμ‘°λ‘ λκΈ°κ³ , μ½λ°± λλ λνΌκ° μλ λ΄λΆ κ°μ²΄λ₯Ό νΈμΆνκ² λλλ° μ΄λ₯Ό self λ¬Έμ λΌκ³ νλ€. μ½λ°± ν¨μλ? : λ€λ₯Έ ν¨μ Aμ μΈμλ‘ μ λ¬λ ν¨μ Bλ‘, ν΄λΉ ν¨μA λ΄λΆμμ νμν μμ μ νΈμΆλ μ μλ ν¨μ Bλ₯Ό μλ―Ένλ€. public interface FunctionToCall { v..
2023.03.02 -
[μ΄νν°λΈ μλ°] Item18 μ벽곡λ΅. λ°μ½λ μ΄ν° ν¨ν΄ Decorator Pattern
item18. μμ보λ€λ μ»΄ν¬μ§μ μ μ¬μ©νλΌ. " p.119 λ°μ½λ μ΄ν° ν¨ν΄" [μ΄νν°λΈ μλ°] Item18. μμ보λ€λ μ»΄ν¬μ§μ μ μ¬μ©νλΌ. (tistory.com) [μ΄νν°λΈ μλ°] Item18. μμ보λ€λ μ»΄ν¬μ§μ μ μ¬μ©νλΌ. [μ΄νν°λΈ μλ°] Item18. μμ보λ€λ μ»΄ν¬μ§μ μ μ¬μ©νλΌ. μμμ μ¬μ©νλ©΄ μ½λλ₯Ό μ¬μ¬μ©ν μ μμ§λ§, μλͺ» μμνλ©΄ μ€λ₯κ° λ°μν μ μλ€. μμ ν΄λμ€μ νμ ν΄λμ€κ° λͺ¨λ κ°μ νλ‘κ·Έλ hyejin.tistory.com λ°μ½λ μ΄ν° ν¨ν΄ Decorator Pattern μ΄λ? : κΈ°μ‘΄ μ½λλ₯Ό λ³κ²½νμ§ μκ³ λΆκ° κΈ°λ₯μ μΆκ°νλ ν¨ν΄, κ°μ²΄μ κ²°ν©μ ν΅ν΄ κΈ°λ₯μ λμ μΌλ‘ μ μ°νκ² νμ₯ν μ μκ² ν΄μ£Όλ ν¨ν΄μ΄λ€. λ°μ½λ μ΄ν° ν¨ν΄μ μμμ΄ μλ μμμ μ¬μ©ν΄μ λ³΄λ€ μ μ°..
2023.03.02 -
[μ΄νν°λΈ μλ°] Item18. μμ보λ€λ μ»΄ν¬μ§μ μ μ¬μ©νλΌ.
[μ΄νν°λΈ μλ°] Item18. μμ보λ€λ μ»΄ν¬μ§μ μ μ¬μ©νλΌ. μμμ μ¬μ©νλ©΄ μ½λλ₯Ό μ¬μ¬μ©ν μ μμ§λ§, μλͺ» μμνλ©΄ μ€λ₯κ° λ°μν μ μλ€. μμ ν΄λμ€μ νμ ν΄λμ€κ° λͺ¨λ κ°μ νλ‘κ·Έλλ¨Έκ° ν΅μ νλ ν¨ν€μ§ μμ΄λ©΄μ νμ₯ν λͺ©μ μΌλ‘ μ€κ³λμκ³ , λ¬Έμνλ μ λ ν΄λμ€λΌλ©΄ μμλ μμ ν λ°©λ²μ΄ λλ€. νμ§λ§ μΌλ°μ μΈ κ΅¬μ²΄ ν΄λμ€λ₯Ό ν¨ν€μ§ κ²½κ³λ₯Ό λμ΄μ λ€λ₯Έ ν¨ν€μ§μ ꡬ체ν΄λμ€λ‘ μμνλ μΌμ μ€λ₯κ° λ°μν μνμ΄ μ‘΄μ¬νλ€!! πΎ λ©μλ νΈμΆκ³Ό λ¬λ¦¬ μμμ μΊ‘μνλ₯Ό κΉ¨νΈλ¦°λ€. : μμ ν΄λμ€κ° μ΄λ»κ² ꡬνλλλμ λ°λΌμ νμ ν΄λμ€μ λμμ μ΄μμ΄ μκΈΈ μ μλ€. μμ ν΄λμ€κ° 릴리μ¦λ§λ€ λ΄λΆ ꡬνμ΄ λ¬λΌμ§ μ μλλ°, κ·Έμ λ°λΌμ μμμ λ°μ νμ ν΄λμ€μμ μ€λμ ν μ μλ€. μμ ν΄λμ€ μ€κ³..
2023.03.02