JavaRush /Java Blog /Random-KO /Java์˜ ์ธํ„ฐํŽ˜์ด์Šค
vinsler
๋ ˆ๋ฒจ 35

Java์˜ ์ธํ„ฐํŽ˜์ด์Šค

Random-KO ๊ทธ๋ฃน์— ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค
๋‚˜๋Š” ํŠน์ • ์š”์ฒญ์„ ๊ฐ€์ง„ ์‚ฌ๋žŒ์—๊ฒŒ ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ค์šด ๊ฒƒ์„ ์„ค๋ช…ํ•˜๋ ค๋Š” ๋ชฉํ‘œ๊ฐ€ ์—†์œผ๋ฉด ๋‚˜์œ ์ด์•ผ๊ธฐ๊พผ์ด๋ฏ€๋กœ ๊ฐ„๋‹จํ•œ ๊ฒƒ๋“ค์€ ์ดํ•ดํ•˜๊ณ  ์ผ๋‹จ ์—ฌ๊ธฐ์— ๊ธ€์„ ์“ฐ๊ฒ ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋จผ์ € ์งˆ๋ฌธ์„ ํ•˜๊ณ  ๊ทธ ๋‹ค์Œ์— ์–ด๋–ป๊ฒŒ ํ•˜๋Š”์ง€ ์•Œ๋ ค์ฃผ๋Š” JavaRush ๊ต์œก ์˜ˆ์ œ๋ฅผ ๋”ฐ๋ฅด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋งํ•˜๊ณ , ๋จผ์ € ๋ณด์—ฌ์ฃผ๊ณ , ์„ค๋ช…ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋จผ์ € ๋งํ•˜๊ณ , ์งˆ๋ฌธํ•˜๋Š” ๊ฒƒ์„ ์ง€์ง€ํ•ฉ๋‹ˆ๋‹ค.
Java์˜ ์ธํ„ฐํŽ˜์ด์Šค - 1
BS: ๋™์ž‘ == ๋™์ž‘, ๋™์˜์–ด๋กœ ๊ฐ„์ฃผํ•˜์„ธ์š”. ๋™์ž‘์€ ๋‹จ์ˆœํžˆ ๋” ์ •ํ™•ํ•˜๊ฒŒ ์ดํ•ด๋˜๋ฉฐ, ํ•ญ์ƒ ํ™œ๋™์ ์ธ ๊ฒƒ์ด๋ฉฐ ๋™์ž‘์€ ์•„๋ฌด ๊ฒƒ๋„ ํ‘œ์‹œํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ธํ„ฐํŽ˜์ด์Šค - ์ธํ„ฐํŽ˜์ด์Šค

์ด๊ฒŒ ๋ญ”๊ฐ€์š”? ์˜ˆ์ œ ์ธํ„ฐํŽ˜์ด์Šค ๋ชฉ๋ก(์ œ๋„ค๋ฆญ ํฌํ•จ):
public interface Store<T, ID> {
    void add(T t);
    void update(T t, ID i);
    void delete(ID i);
    T findOne(ID i);
    List<T> findAll();
}
๊ณตํ†ต crud(CRUD: ์ƒ์„ฑ, ์ฝ๊ธฐ, ์—…๋ฐ์ดํŠธ, ์‚ญ์ œ) ์ธํ„ฐํŽ˜์ด์Šค. ๋†€๋ผ์ง€ ๋งˆ์„ธ์š”. ๋ชจ๋“  ๊ฒƒ์ด ์•„์ฃผ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ์ด ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๋งŽ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ž‘์—…์ด ๋‹ค์Œ ์›์น™์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋ ˆ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ , ๋ ˆ์ฝ”๋“œ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ณ , ๋ชจ๋“  ๋ ˆ์ฝ”๋“œ๋ฅผ ์‚ญ์ œํ•˜๊ณ  ์ฐพ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹น์‹ ์€ ์ด๊ฒƒ์„ 100๋ฒˆ ๋” ์ ‘ํ•˜๊ฒŒ ๋  ๊ฒƒ์ด๋ฉฐ ๊ฑฐ์˜ ๋™์ผํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ฐ™์€ ํšŸ์ˆ˜๋งŒํผ ์ง์ ‘ ์ž‘์„ฑํ•˜๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํด๋ž˜์Šค์—์„œ ๊ตฌํ˜„ํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๊ณต๊ฐœ๋กœ ์ง€์ •๋ฉ๋‹ˆ๋‹ค. ํด๋ž˜์Šค๋กœ ๊ตฌํ˜„๋œ๋‹ค๋Š” ๊ฒƒ์€ ๋ฌด์—‡์„ ์˜๋ฏธํ•ฉ๋‹ˆ๊นŒ ? ๋ชจ๋“  ๊ฒƒ์€ ๋งค์šฐ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ์ธํ„ฐํŽ˜์ด์Šค์˜ ๋ชจ๋“  ๋ฉ”์„œ๋“œ๋ฅผ ์„ค๋ช…ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํด๋ž˜์Šค ๊ตฌํ˜„์˜ ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ์˜ˆ:
void add (T t) {
	bookstore.add(t);
}
T t ๋Œ€์‹  ํŠน์ • ์ผ๋ฐ˜ ์ œํ’ˆ์ด ๋Œ€์ฒด๋ฉ๋‹ˆ๋‹ค. ๊ฐ„๋‹จํžˆ ๋งํ•ด์„œ ์ด๊ฒƒ์€ ๋ณ€์ˆ˜์˜ TYPE์ด๋ฏ€๋กœ T = Type์œผ๋กœ ๊ฐ€์žฅ ์ž์ฃผ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ด ์˜ˆ์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์„ ์ˆ˜ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
void add (Book book) {
	bookstore.add(book);
}
๋‹น์—ฐํžˆ Book book ๋Œ€์‹  ๊ตฌํ˜„์— ํ•„์š”ํ•œ ๋ชจ๋“  ๋ณ€์ˆ˜๋ฅผ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด ์ด๋ก ์ ์œผ๋กœ T = Object๋ผ๊ณ  ๊ฐ€์ •ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ Java์˜ ๋ชจ๋“  ๊ฒƒ์€ Object์ด๋ฏ€๋กœ ๊ฑฐ๊ธฐ์—์„œ ํด๋ž˜์Šค/๋ณ€์ˆ˜๋ฅผ ์ •์˜ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์œ ์ผํ•œ ๋ฌธ์ œ๋Š” ๋‚˜์ค‘์— ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ํด๋ž˜์Šค๊ฐ€ 0์ธ ๊ฒฝ์šฐ๋Š” ์˜ˆ์™ธ์ž…๋‹ˆ๋‹ค. ๊ทธ ์ž์ฒด๋กœ ๋งํ•˜๋ฉด ๊ฐ์ฒด๋ฅผ ํŠน์ • ๋™์ž‘ ๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋ˆ„์–ด ๊ฐ์ฒด ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ์ •์˜ํ•˜๋Š” ํŠน์ • ํ”„๋กœ๊ทธ๋žจ ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ์ธํ„ฐํŽ˜์ด์Šค์˜ ๋ชฉ์ ์€ ํด๋ž˜์Šค์— ์˜ํ•œ ๊ตฌํ˜„์„ ์œ„ํ•œ ๊ธฐ๋Šฅ์„ ์ •์˜ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ๋ฉ”์†Œ๋“œ ์„œ๋ช…์— ๋Œ€ํ•œ ์„ค๋ช…์ž…๋‹ˆ๋‹ค. ์ธํ„ฐํŽ˜์ด์Šค ๋‚ด๋ถ€์—๋Š” ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๊ณ  ์ž…๋ ฅํ•˜๋Š” ๋ฉ”์†Œ๋“œ์˜ ์ด๋ฆ„์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธ€์Ž„, ์—ฌ์ „ํžˆ ๊ฑฐ๊ธฐ์—์„œ ์ผ๋ถ€ ๋ณ€์ˆ˜๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ฆ‰์‹œ ์•”์‹œ์ ์œผ๋กœ public static final์ด ๋˜๋ฉฐ ํ”„๋กœ๊ทธ๋žจ์˜ ์–ด๋Š ๋ถ€๋ถ„์—์„œ๋“  ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์ž‘์—…์„ ์„ค๋ช…ํ•˜๋ฏ€๋กœ ๋™์ผํ•œ ์ž‘์—…์ด ์ธํ„ฐํŽ˜์ด์Šค์— ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๊ธฐ๋Šฅ์ด๋‚˜ ๋ฐฉ๋ฒ•. ์ด๊ฒƒ์ด ์™œ ํ•„์š”ํ•œ๊ฐ€์š”? ์ด๊ฒƒ์ด ๋ฌด์—‡์„ ๋‹จ์ˆœํ™”ํ•˜๊ณ  ์–ด๋–ค ์ด์ ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๊นŒ? ํ–‰๋™๊ณผ ํ–‰๋™์— ๋Œ€ํ•œ ์„ค๋ช…์„ ๋‹จ์ˆœํ™”ํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋ฌด์—‡์„ ํ•ด์•ผ ํ• ์ง€ ๋งํ•˜์ง€๋งŒ, ๊ฐ ํด๋ž˜์Šค๋Š” ์ด๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ž์ฒด์ ์œผ๋กœ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์—์„œ ์‹œ๊ฐ„์„ ์ ˆ์•ฝํ•˜์„ธ์š”. ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์–ด๋–ค ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์ง€๋งŒ ์ด๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์–‘ํ•  ์ˆ˜ ์žˆ๋Š” ์ƒํ™ฉ์—์„œ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์ž‘์—…์˜ ์ด๋ฆ„์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋‹จ์ˆœํžˆ ์ผ๋ถ€ ์ถ”์ƒํ™”์˜ ๋ฐฉํ–ฅ์ž…๋‹ˆ๋‹ค. Cloneable, Remote ๋“ฑ์˜ ๋งˆ์ปค์™€ ๊ฐ™์ด ๋ฉ”์„œ๋“œ์™€ ํ•„๋“œ๊ฐ€ ์—†๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋„ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋‘๊ฐ€ ์ข‹์•„ํ•˜๋Š” ์ž๋™์ฐจ์˜ ์˜ˆ๋ฅผ ๋“ค์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ทธ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์ž๋™์ฐจ์˜ ๊ฐ€๋Šฅํ•œ ๋™์ž‘, ์Šคํ‹ฐ์–ด๋ง ํœ  ํšŒ์ „ ๋˜๋Š” ์ด๋™ ๋ฐฉํ–ฅ, ์†๋„ ์ฆ๊ฐ€, ๋‚จ์€ ํœ˜๋ฐœ์œ  ๋“ฑ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋ชจ๋“  ์ž๋™์ฐจ๊ฐ€ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•œ ๋™์ž‘์ž…๋‹ˆ๋‹ค. ์ฆ‰, ์šฐ๋ฆฌ๋Š” ์ตœ์ดˆ์˜ ์ž๋™์ฐจ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฐ€์žฅ ๋‚ฎ์€ ์ˆ˜์ค€๊นŒ์ง€ ์ €ํ•˜์˜ ์ •๊ธ€๋กœ ๋‚ด๋ ค๊ฐ€ ๊ทธ๊ฒƒ์ด ์–ด๋–ป๊ฒŒ ๋งŒ๋“ค์–ด์กŒ๊ณ  ๋ฌด์—‡์„ ๊ฐ€์กŒ๋Š”์ง€ ์šฐ๋ฆฌ ์ž์‹ ์˜ ๋‘๋‡Œ๋กœ ์•Œ์•„๋ƒ…๋‹ˆ๋‹ค. ๋‹น์—ฐํžˆ ์šฐ๋ฆฌ๋Š” ์ด๊ฒƒ์„ ์ถ”์ƒ์ ์œผ๋กœ ์„ค๋ช…ํ•˜๊ณ  ํ–‰๋™์— ๋Œ€ํ•ด์„œ๋งŒ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ตœ์ดˆ์˜ ์ž๋™์ฐจ์—๋Š” ๋ฌด์—‡์ด ์žˆ์—ˆ๋‚˜์š”? ์šด์ „๋Œ€๊ฐ€ ์žˆ์—ˆ๋‚˜์š”? ๊ทธ๊ฒƒ์€ ์Šคํ‹ฐ์–ด๋ง ํœ /์›€์ง์ž„์˜ ๋ฐฉํ–ฅ์œผ๋กœ ์–ด๋”˜๊ฐ€๋กœ ํšŒ์ „ํ•˜๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋ฐ”ํ€ด๊ฐ€ ์žˆ์—ˆ๋‚˜์š”? ๋„ค, ๊ทธ๊ฑด ์ œ๊ฐ€ ์–ด๋Š ์ •๋„์˜ ์†๋„๋กœ ์šด์ „ํ•˜๊ณ  ์žˆ์—ˆ๋‹ค๋Š” ๋œป์ž…๋‹ˆ๋‹ค. ์†๋„๊ฐ€ ๋ฐ”๋€Œ์—ˆ์ฃ . ์ด๊ฒƒ์ด ์ „์ฒด ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ผ๋ฐ˜์ ์œผ๋กœ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ํŠน์ • ์ž‘์—…์˜ ์ผ๋ถ€ ๊ตฌํ˜„์„ ์œ„ํ•ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ €๊ฒƒ๋“ค. ์šฐ๋ฆฌ๋Š” ๋‹น์‹ ์ด ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ทธ ์–ด๋–ค ๊ฒƒ๋ณด๋‹ค ๋” ๊ตฌ์ฒด์ ์ธ ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ธํ„ฐํŽ˜์ด์Šค ์ž์ฒด์—๋Š” ๋” ๋ช…ํ™•ํ•˜๊ณ  ๊ตฌ์ฒด์ ์ธ ๋ฐฉ๋ฒ•์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋ฌผ๋ก  ๊ฐ€๋Šฅํ•œ ํ•œ ์ถ”์ƒ์ ์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ธํ„ฐํŽ˜์ด์Šค๋Š” ํด๋ž˜์Šค๋กœ ์„œ๋กœ ์ƒ์†๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
interface MyInterface extends NotMyinterface;
์ธํ„ฐํŽ˜์ด์Šค๋Š” ํด๋ž˜์Šค์—์„œ ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค. ์›ํ•˜๋Š” ๋งŒํผ ๋งŽ์€ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒ์†๊ณผ ๋‹ฌ๋ฆฌ ํ•˜๋‚˜๋งŒ ์ƒ์†ํ•ฉ๋‹ˆ๋‹ค.
class NewClass extends OldClass implements MyInterface, NotMyinterface;
์ €๊ฒƒ๋“ค. ์šฐ๋ฆฌ๋Š” ๋ช‡ ๊ฐ€์ง€ ์ž‘์—…์„ ์ƒ๊ฐํ•ด ๋‚ด๊ณ  ์ด๋ฆ„์„ ์ง€์ •ํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ  ์ด ๋ชจ๋“  ๊ฒƒ์„ ์ธํ„ฐํŽ˜์ด์Šค์— ์ž‘์„ฑํ•œ ๋‹ค์Œ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค๊ณ  ์ด ํด๋ž˜์Šค์— ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ํด๋ž˜์Šค์—์„œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ธํ„ฐํŽ˜์ด์Šค์— ์„ค๋ช…๋œ ๋ชจ๋“  ๋ฉ”์„œ๋“œ/ํ•จ์ˆ˜์—๋Š” ๊ตฌํ˜„์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฉ”์„œ๋“œ ์•ž์— default๋ผ๋Š” ๋‹จ์–ด๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ํด๋ž˜์Šค์ฒ˜๋Ÿผ ๋ฉ”์„œ๋“œ์— ์ง์ ‘ ๊ตฌํ˜„์„ ์ž‘์„ฑํ•˜์—ฌ ์ธํ„ฐํŽ˜์ด์Šค ์ž์ฒด์—์„œ ์ง์ ‘ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” Java ๋ฒ„์ „ 8์—์„œ ๊ฐ€๋Šฅํ•ด์กŒ์Šต๋‹ˆ๋‹ค. ์ด ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•  ํด๋ž˜์Šค์—์„œ๋„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ž‘์„ฑํ•˜๊ณ , ํด๋ž˜์Šค์— ๊ตฌํ˜„ํ•˜๊ณ , ํด๋ž˜์Šค์— ๊ตฌํ˜„์„ ๋กค์•„์›ƒํ•˜๊ณ , ์‹คํ–‰ํ•˜๊ณ  ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ๋‹ค์Œ ๋‚ด์šฉ์„ ์ฝ์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ •์  ๋ฐฉ๋ฒ•.
  • ๋น„๊ณต๊ฐœ ๋ฐฉ๋ฒ•. (์ฝ”๋“œ ๋ฐ˜๋ณต)
  • ๋ณ€์ˆ˜/์ƒ์ˆ˜.
  • ์ค‘์ฒฉ๋œ ์ธํ„ฐํŽ˜์ด์Šค.
ํ•˜์ง€๋งŒ ๋‚˜์ค‘์— ํ•˜๋Š” ๊ฒƒ์ด ๋” ์ข‹์œผ๋ฉฐ, ๋จธ๋ฆฌ๋ฅผ ๋„ˆ๋ฌด ๋งŽ์ด ์ฑ„์šฐ๋Š” ๊ฒƒ๋„ ํ•ด๋กญ์Šต๋‹ˆ๋‹ค. ํฅ๋ฏธ๋กœ์šด ์งˆ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋ณผ๋ณด๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”? ํด๋ž˜์Šค ๋˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค?
line1: Volvo v = new VolvoV2();
line2: Volvo v = new VolvoV3();
์ธํ„ฐํŽ˜์ด์Šค ์™ธ์—๋„ ์ถ”์ƒ ํด๋ž˜์Šค ๋ฐ ํด๋ž˜์Šค์— ๋Œ€ํ•ด ๊ณ„์†ํ•ด์„œ ์•Œ์•„๋ณผ ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์–ด์ฉŒ๋ฉด ๋‚˜์ค‘์— ๋ช‡ ์‹œ๊ฐ„ ๋” ์—ฌ์œ ๊ฐ€ ์ƒ๊ธธ ์ˆ˜๋„ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ))) ์ถ”์‹ : ์—ฌ๋Ÿฌ๋ถ„, ๊ฒŒ์‹œ๋ฌผ์ด๋‚˜ PM์—์„œ ๋ชจ๋“  ๋น„ํŒ์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ์‚ฌ๋žŒ์ด ๊ทธ๊ฒƒ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์™„๋ฒฝํ•˜๊ฒŒ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค.))) ์ด๊ฒƒ์ด ์กฐ๊ธˆ ๋” ๋‚˜์•„์งˆ ์ด์œ ์ด๊ธฐ ๋•Œ๋ฌธ์— ํ•ญ์ƒ ๋“ฃ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๋‹ค์‹œ ๊ณ„์† ์•ž์œผ๋กœ ๋‚˜์•„๊ฐ‘๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ๋ชจ๋‘์—๊ฒŒ ๊ฐ์‚ฌ๋“œ๋ฆฌ๋ฉฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ํ–‰์šด์ด ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. )))
์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION