Java

์ž๋ฐ” ๋ฉ”์†Œ๋“œ ์˜ค๋ฒ„๋ผ์ด๋”ฉ(Method Overriding) ํ•˜๋Š” ๋ฐฉ๋ฒ•

567Rabbit 2024. 6. 3. 11:29

๋ฉ”์†Œ๋“œ ์˜ค๋ฒ„๋ผ์ด๋”ฉ(Method Overriding) 

 

๋ถ€๋ชจํด๋ž˜์Šค์˜ ๋ณ€์ˆ˜๋Š” name, age, money์ด๊ณ ,

 

์ž๋…€ํด๋ž˜์Šค์˜ ๋ณ€์ˆ˜๋Š” ๋ถ€๋ชจ์—๊ฒŒ ์ƒ์†๋ฐ›์€ ๋ณ€์ˆ˜์™€ ์ž๋…€ํด๋ž˜์Šค์˜ ๋ณ€์ˆ˜์ธ hobby๊ฐ€ ์žˆ๋‹ค.

 

 

 

๊ทธ๋Ÿฐ๋ฐ, ์ƒ์„ฑ์ž ์ž์ฒด๋ฅผ ๋งŒ๋“ค์ง€ ์•Š๊ณ , ๋ถ€๋ชจ์˜ ์ƒ์„ฑ์ž๋ฅผ ์ด์–ด๋ฐ›์•„ ์“ฐ๊ณ ์‹ถ๋‹ค.

 

๋‹ค์‹œ ๋งํ•ด์„œ c.printChild();๋ฅผ ์“ฐ์ง€ ์•Š๊ณ (์ƒˆ๋กœ์šด ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์ง€ ์•Š๊ณ ), ๋ถ€๋ชจ์˜ print ํ•จ์ˆ˜๋ฅผ ์“ฐ๊ณ ์‹ถ๋‹ค.

 

์ด์ฒ˜๋Ÿผ ์ƒˆ๋กœ์šด ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์ง€ ์•Š์•„๋„ ๋ถ€๋ชจ์˜ ํ•จ์ˆ˜๋ฅผ ์‘์šฉํ•ด์„œ ์“ธ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์„ ๋ฉ”์†Œ๋“œ ์˜ค๋ฒ„๋ผ์ด๋”ฉ์ด๋ผ๊ณ  ํ•œ๋‹ค.

 

 

 

 

 

 

๊ธฐ์กด์— ์žˆ๋˜ printChild ํ•จ์ˆ˜ ๋ถ€๋ถ„์„ ์ง€์šฐ๊ณ , ๋ถ€๋ชจ์˜ childํ•จ์ˆ˜๋ฅผ ์˜ค๋ฒ„๋ผ์ด๋”ฉ ํ•  ๊ฒƒ์ด๋‹ค.

 

 

 

 


์˜ค๋ฒ„๋ผ์ด๋”ฉ ํ•  ๋•Œ์—๋Š” @Override๋ฅผ ๋ถ™์ด๋Š” ์ด์œ ๋Š”, ๋‹ค๋ฅธ ์‚ฌ๋žŒ๊ณผ ํ˜‘์—…ํ•  ๋•Œ ์˜ค๋ฒ„๋ผ์ด๋”ฉํ–ˆ๋‹ค๋Š” ๊ฒƒ์„ ๋‹ค๋ฅธ์‚ฌ๋žŒ์ด ์ธ์‹ํ•  ์ˆ˜ ์žˆ๊ฒŒ๋” ํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค.

 

 

 

 

 

๋ถ€๋ชจ์˜ print๋ฅผ ์ƒ์†๋ฐ›์€ ํ›„, ๋”ํ•˜์—ฌ hobby ๋ถ€๋ถ„์„ ์“ฐ๋ฉด ๋ฉ”์†Œ๋“œ ์˜ค๋ฒ„๋ผ์ด๋”ฉํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

๊ทธ๋Ÿฌ๋‚˜ ๋‘ ์ค„๋กœ print๊ฐ€ ๋‚˜์˜ค๋ฏ€๋กœ, ํ•œ์ค„๋กœ ์“ฐ๊ณ  ์‹ถ๋‹ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ์งœ๋ฉด ๋œ๋‹ค.