Generic

μžλ°”μ—μ„œ Generic은 κ²°μ •λ˜μ§€ μ•Šμ€ νƒ€μž…μ„ νŒŒλΌλ―Έν„°λ‘œ μ²˜λ¦¬ν•˜κ³ 

μ‹€μ œ μ‚¬μš©ν•  λ•Œ νŒŒλΌλ―Έν„°λ₯Ό ꡬ체적인 νƒ€μž…μœΌλ‘œ λŒ€μ²΄ μ‹œν‚€λŠ” κΈ°λŠ₯

public Class Box {
    public  ? content // 
}

Box ν΄λž˜μŠ€μ— 넣을 λ‚΄μš©λ¬Όλ‘œ content λΌλŠ” ν•„λ“œλ₯Ό μ„ μ–Έν•˜λ €κ³  ν•  λ•Œ, νƒ€μž…μ„ λ¬΄μ—‡μœΌλ‘œ ν•΄μ•Ό ν• κΉŒ?

Box λŠ” λ‹€μ–‘ν•œ λ‚΄μš©λ¬Όμ„ μ €μž₯ν•΄μ•Ό ν•˜λ―€λ‘œ νŠΉμ • 클래슀 νƒ€μž…μ„ μ„ μ–Έν•  수 μ—†λ‹€.

Object νƒ€μž…μ€ λͺ¨λ“  클래슀의 μ΅œμƒμœ„ λΆ€λͺ¨ 클래슀이기 λ•Œλ¬Έμ— λͺ¨λ“  κ°μ²΄λŠ” Object νƒ€μž…μœΌλ‘œ

μžλ™ νƒ€μž… λ³€ν™˜λœλ‹€. 즉 content ν•„λ“œμ—λŠ” μ–΄λ–€ 객체든 λŒ€μž…μ΄ κ°€λŠ₯ν•˜λ‹€.

public Class Box {
    public  Object content 
    
}

Box box = new Box();
box.content = λͺ¨λ“  객체;

ν•˜μ§€λ§Œ Box μ•ˆμ˜ λ‚΄μš©λ¬Όμ„ 얻을 λ•Œμ—λŠ” μ–΄λ–€ 객체가 λŒ€μž…λ˜μ–΄ μžˆλŠ”μ§€ ν™•μ‹€ν•˜μ§€ μ•Šλ‹€.

예λ₯Ό λ“€μ–΄ String νƒ€μž…μ΄λ©΄ κ°•μ œ νƒ€μž… λ³€ν™˜μœΌλ‘œ String을 얻을 수 μžˆλ‹€.

instanceof μ—°μ‚°μžλ‘œ νƒ€μž…μ„ 쑰사할 수 μžˆμ§€λ§Œ λͺ¨λ“  μ’…λ₯˜μ˜ 클래슀λ₯Ό λŒ€μƒμœΌλ‘œ 쑰사할 μˆ˜λŠ” μ—†λ‹€.

λ”°λΌμ„œ Object νƒ€μž…μœΌλ‘œ contentλ₯Ό μ„ μ–Έν•˜λŠ” 것은 쒋은 방법이 μ•„λ‹ˆλ‹€.

Box 객체λ₯Ό μƒμ„±ν•˜κΈ° 전에 μš°λ¦¬λŠ” μ–΄λ–€ λ‚΄μš©λ¬Όμ„ 넣을 μ§€ μ•Œ 수 μžˆλ‹€.

Last updated