๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿš— Major Study (Bachelor)/๐ŸŸ  JAVA Programming

JAVA ํ”„๋กœ๊ทธ๋ž˜๋ฐ 8.3

by UKHYUN22 2021. 10. 29.
728x90

8.3 Polymorphism

 

 

์„œ๋กœ ๋‹ค๋ฅธ ์ƒํ™ฉ์—์„œ ๋‹ค๋ฅธ ํ–‰๋™์„ ํ•œ๋‹ค.

 

 

Dynamic Binding ์ด๋ž€?

์–ด๋–ค ๊ฒƒ์„ ์—ฐ๊ฒฐํ•ด์ฃผ๋Š” ์ง€์— ๊ด€๋ จ๋œ ์šฉ์–ด (๊ต์ˆ˜๋‹˜๋„ ์• ๋งคํ•˜๊ฒŒ ์„ค๋ช…ํ•˜์‹ฌ)

Static์€ Compile์„ ํ•  ๋•Œ ๊ฒฐ์ •๋œ๋‹ค.

Dynamic์€ ํ”„๋กœ๊ทธ๋žจ์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ๊ฒฐ์ •๋œ๋‹ค. 

์ปดํŒŒ์ผํ•  ๋•Œ ์ด๋ฃจ์–ด์ง€๋Š” ๊ฒƒ์„ Static Binding ์ด๋ผ๊ณ  ํ•˜๊ณ 

Run time์ผ ๋•Œ ์ด๋ฃจ์–ด์ง€๋Š” ๊ฒƒ์„ Dynamic BInding์ด๋ผ๊ณ  ํ•œ๋‹ค. ๋˜๋Š” late binding์ด๋ผ๊ณ  ํ•œ๋‹ค.

 

 

 

Binding ์€ Override๋œ ๋ฉ”์†Œ๋“œ๊ฐ€ ์žˆ์„ ๋•Œ ๋ฐœ์ƒํ•œ๋‹ค.

๋ถ€๋ชจ ํด๋ž˜์Šค์™€ ์ž์‹ ํด๋ž˜์Šค ์‚ฌ์ด์—์„œ Binding ์ด ์ด๋ฃจ์–ด์ง„๋‹ค.

์ปดํŒŒ์ผ ํ•  ๋•Œ๋Š” ์–ด๋–ค ๋ฉ”์†Œ๋“œ๊ฐ€ ์‚ฌ์šฉ๋  ์ง€ ๋ชจ๋ฅธ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๋Š” run-time ๋•Œ ์•Œ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

 

 

๊ฐ™์€ writeOutput์„ ํ˜ธ์ถœํ•˜์ง€๋งŒ ์‹ค์ œ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ์€ ๊ฐ๊ธฐ ๋‹ค๋ฅธ ๊ฒƒ์ด๋‹ค.

 

 

 

Many forms, dynamic binding

 

Polymorphism ์€ Many forms ๋ผ๋Š” ์˜๋ฏธ์ด๊ณ  dynamic binding์˜ ๊ฒฐ๊ณผ๋กœ ๋‚˜ํƒ€๋‚œ๋‹ค.

๋˜‘๊ฐ™์€ ์ด๋ฆ„์ด ์„œ๋กœ ๋‹ค๋ฅธ ์˜ค๋ธŒ์ ํŠธ์—์„œ ์„œ๋กœ ๋‹ค๋ฅธ ๋ฉ”์†Œ๋“œ์˜ ์ˆ˜ํ–‰์œผ๋กœ ๋‚˜ํƒ€๋‚œ๋‹ค.