ch21 : Generic
λͺ©μ°¨
Generic μ¬μ©νλ μ΄μ ?
λ§μ½ DTOμ λ©€λ²νλλ₯Ό
Object
λ‘ ν κ²½μ°,리ν΄κ°μ
Object
λ‘ λ°μμ μ€μ μ¬μ©μμλ νλ³νμ ν΄μ£Όμ΄μΌνλ€.λ€λ§, μ΄λ μ€μ μ΄λ€ μλ£νμΈμ§ νΌλλ μ μλ€. (
instanceof
λ₯Ό ν΅ν΄ μ§μ if-elseλ¬ΈμΌλ‘ νμ μ μ κ²ν΄μ€ μλ μμ§λ§ λ²κ±°λ‘λ€.)β μ΄λ μ΄ μλ£νμ μ»΄νμΌ μμ μ μ κ²ν μ μλλ‘ ν΄μ£Όλ κ²μ΄
Generic
μ΄λ€!
μμ)
μ λ€λ¦ νμ μ΄λ¦ μ νκΈ°
E : μμ (μλ° Collections)
K : ν€
N : μ«μ
T : νμ
V : κ°
S, U, V : κ°κ° 2,3,4 λ²μ§Έ μ μΈλ νμ
Wildcard
<?>
맀κ°λ³μλ‘ μ¬λ¬ νμ μ λ°κ³ μΆμ κ²½μ° <?>μ μ¬μ©νλ€.
μ λ€λ¦ ν΄λμ€μ νμ λ§ λ°κΎΌλ€κ³ μ€λ²λ‘λ©ν μλ μκΈ°μ μμΌλμΉ΄λλ₯Ό μ¬μ©ν¨.
κ·Έλ¦¬κ³ ν΄λΉ λ©μλ λ΄μμλ
instanceof
λ₯Ό ν΅ν΄μ νμ μ νμΈνλ©΄ λλ€.μμ) λ©μλμμ 맀κ°λ³μλ‘ νκ°μ§ νμ λ§ λ°μ μ μλλ‘ λμ΄μλ€.
λ¨, <?> μμΌλμΉ΄λλ 맀κ°λ³μλ‘λ§ μ¬μ©ν κ²! κ°μ²΄ μ μΈ μμλ μ¬μ©ν μλ μμ§λ§, νΉμ νμ μΌλ‘ κ°μ ν λΉν μλ μλ€.
Bounded Wildcard
<? extends λΆλͺ¨ν΄λμ€>
μμΌλμΉ΄λμ νμ λ²μλ₯Ό μ ν μ μλ€.
맀κ°λ³μ/리ν΄κ°μμ
<?>
λμ<? extends λΆλͺ¨ν΄λμ€>
μ μ¬μ©νλ©΄, μμλ°μ λΆλͺ¨ν΄λμ€λ§ λ°μ μ μλ€.
λ¨, μ΄ κ²½μ°μλ 맀κ°λ³μλ‘ μ¨ λ³μμ κ°μ μΆκ°ν μ μλ€.
μμΌλμΉ΄λλ‘ μ μΈλ λ³μλ νΉμ νμ μΌλ‘ κ°μ΄ ν λΉλ μ μκΈ° λλ¬Έ!
맀κ°λ³μλ‘ μ¨ λ³μμ κ°μ μΆκ°νκ³ μΆμΌλ©΄,
λ©μλ μ μΈ μ λ¦¬ν΄ νμ μμ μ λλ¦ν νμ μ μ μΈν΄ μ£Όκ³ , κ·Έ νμ μ λ§€κ° λ³μμμ μ¬μ©νλ©΄ λλ€.
Last updated