์๋ฐ์์ 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 ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ธฐ ์ ์ ์ฐ๋ฆฌ๋ ์ด๋ค ๋ด์ฉ๋ฌผ์ ๋ฃ์ ์ง ์ ์ ์๋ค.