Generics
μ¬μ¬μ© κ°λ₯ν μ»΄ν¬λνΈλ₯Ό ꡬμΆν μ μλ€. μ μ°ν κΈ°λ₯ λ¨μΌ νμ μ΄ μλ λ€μν νμ μ μ²λ¦¬ ν μ μλ μ»΄ν¬λνΈλ₯Ό λ§λ λ€.
anyλ₯Ό μ°λ κ²½μ° νμ μ€ν¬λ¦½νΈλ₯Ό μμ°κ² λ€λ λ»μ΄λ κ°λ€.
νμ λ³μ(type variable)
identity ν¨μλ λ€μν νμ μ μ²λ¦¬ν μ μλ€.
ν¨μνΈμΆ 2κ°μ§ λ°©λ²
κΊ½μ κ΄νΈ(<>)μμ λͺ
μμ μΌλ‘ νμ
μ μ λ¬ν νμκ° μλ€. μΈμ myString
μ λ³΄κ³ Tλ₯Ό κ·Έ νμ
μΌλ‘ μ€μ νλ€.
Generic Type Variables
ν¨μκ° Tλμ μ Tλ°°μ΄μ μ²λ¦¬νλ€λ©΄
μ€λ₯ μμ΄ μμ±νκΈ°: 2κ°μ§ λ°©λ²
Generic Types
νμ λ§€κ°λ³μκ° λ¨Όμ λμ΄λ λΉ μ λ€λ¦ ν¨μμ νμ
νμ λ³μμ μμ νμ λ³μμ μ¬μ©μ΄ μΌμΉνλ©΄ μ λ€λ¦ νμ λ§€κ°λ³μλ₯Ό λ€λ₯Έμ΄λ¦ μ¬μ© κ°λ₯
κ°μ²΄ 리ν°λ΄ λ°©μμ νΈμΆ νμ
κ°μ²΄ 리ν°λ΄ λ°©μ + interface
μ λ€λ¦ μΈν°νμ΄μ€λ₯Ό λ§€κ°λ³μλ‘ μ΄λν μ μλ€.
Generic Classes
Generic Constraints
.length νλ‘νΌν°λ₯Ό κ°μ§ λͺ¨λ νμ μμ μλνλλ‘ μ νμ λκ³ μΆλ€. Tκ° λ¬΄μμ΄ λ μ μλμ§μ λν μ μ½μΌλ‘μ μꡬ μ¬νμ μμ±ν΄μΌ νλ€.
interface μ extends
Using Type Parameters in Generic Constraints
Using Class Types in Generics
μμ±μ ν¨μλ₯Ό μ¬μ©νμ¬ ν΄λμ€ νμ μ μ°Έμ‘°νλ€.
Last updated
Was this helpful?