Item 64. Interface Reference

κ°μ²΄λŠ” μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ‚¬μš©ν•΄ μ°Έμ‘°ν•˜λΌ

νƒ€μž…μœΌλ‘œλŠ” ν΄λž˜μŠ€λ³΄λ‹€λŠ” μΈν„°νŽ˜μ΄μŠ€κ°€ 더 λ‚«κΈ° λ•Œλ¬Έμ—, μ ν•©ν•œ μΈν„°νŽ˜μ΄μŠ€κ°€ μžˆλ‹€λ©΄ λ§€κ°œλ³€μˆ˜, λ°˜ν™˜κ°’, λ³€μˆ˜, ν•„λ“œλ₯Ό λͺ¨λ‘ μΈν„°νŽ˜μ΄μŠ€ νƒ€μž…μœΌλ‘œ μ„ μ–Έν•˜λŠ” 것이 μ’‹λ‹€. μ‹€μ œ ν΄λž˜μŠ€λŠ” 생성할 λ•Œλ§Œ μ‚¬μš©ν•˜κ³  κ·Έ μ™Έμ—λŠ” μΈν„°νŽ˜μ΄μŠ€λ‘œλ§Œ μ‚¬μš©ν•˜λŠ” 것이 μ’‹λ‹€.

κ΅¬ν˜„μ²΄ λ³€κ²½ μ‹œ 주의점

μΈν„°νŽ˜μ΄μŠ€λ‘œ μ„ μ–Έν•˜λ©΄ κ΅¬ν˜„ 클래슀 μƒμ„±μžλ§Œ λ³€κ²½ν•˜λŠ” κ²ƒμœΌλ‘œλ„ λ‹€λ₯Έ κ΅¬ν˜„μ²΄λ‘œ μ‰½κ²Œ ꡐ체할 수 μžˆμ–΄ 훨씬 더 μœ μ—°ν•œ μ½”λ“œλ₯Ό μž‘μ„±ν•  수 μžˆλ‹€. ν•˜μ§€λ§Œ κ΅μ²΄ν•˜λ €λŠ” 클래슀 μ—­μ‹œ 같은 κΈ°λŠ₯을 μ œκ³΅ν•΄μ•Όν•˜κΈ° λ•Œλ¬Έμ— μ£Όμ˜ν•΄μ•Όν•œλ‹€.

  • LinkedHashSet -> HashSet ꡐ체: λ°”κΎΈλ©΄μ„œ μˆœμ„œκ°€ 보μž₯λ˜μ§€ μ•ŠλŠ”λ‹€λŠ” λ¬Έμ œκ°€ 생긴닀.

  • HashMap -> LinkedHashMap ꡐ체: μ„±λŠ₯은 λΉ„μŠ·ν•˜κ²Œ μœ μ§€ν•˜λ©΄μ„œ μˆœμ„œκ°€ 보μž₯λ˜λŠ” 클래슀둜 ꡐ체할 수 μžˆλ‹€.

클래슀λ₯Ό μ‚¬μš©ν•΄μ•Όν•˜λŠ” 경우

  • μ ν•©ν•œ μΈν„°νŽ˜μ΄μŠ€κ°€ μ—†λŠ” 경우

    • μ—¬λŸ¬ κ°€μ§€λ‘œ κ΅¬ν˜„λ  수 μžˆλ„λ‘ μ„€κ³„λ˜μ§€ μ•Šμ€ ν΄λž˜μŠ€λ“€λ‘œ, 이 κ²½μš°μ—” 클래슀λ₯Ό μ‚¬μš©ν•΄λ„ λœλ‹€.

    • String, BigInteger, BigDecimal λ“± 쑴재

  • 클래슀 기반으둜 μž‘μ„±λœ ν”„λ ˆμž„μ›Œν¬κ°€ μ œκ³΅ν•˜λŠ” 객체듀

    • 이 κ²½μš°μ—λ„ νŠΉμ • κ΅¬ν˜„ ν΄λž˜μŠ€λ³΄λ‹€λŠ” 기반 클래슀λ₯Ό μ‚¬μš©ν•˜λŠ” 것이 μ’‹λ‹€.

    • InputStream, OutputStream, ExecutorService λ“± 쑴재

  • μΈν„°νŽ˜μ΄μŠ€μ—λŠ” μ—†λŠ” νŠΉλ³„ν•œ λ©”μ„œλ“œλ₯Ό μ œκ³΅ν•˜λŠ” 클래슀

    • PriorityQueue ν΄λž˜μŠ€λŠ” Queue μΈν„°νŽ˜μ΄μŠ€μ—λŠ” μ—†λŠ” comparator λ©”μ„œλ“œλ₯Ό μ œκ³΅ν•œλ‹€.

    • 이 κ²½μš°μ—λ„ νŠΉλ³„ν•œ λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•˜κΈ° μœ„ν•΄ 클래슀λ₯Ό μ‚¬μš©ν•˜λŠ” 것이 μ’‹λ‹€.

    • 이런 κ²½μš°λŠ” νŠΉμˆ˜ν•œ μƒν™©μ—μ„œλ§Œ μ‚¬μš©ν•˜κ³ , κ°€λŠ₯ν•˜λ©΄ μΈν„°νŽ˜μ΄μŠ€ 기반으둜 μ‚¬μš©ν•˜λŠ” 것이 μ’‹λ‹€.

Last updated