๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ–ฅ๏ธ ๋ฐฑ์—”๋“œ/Java

[ch.7] ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(2)

by OR15A 2023. 11. 11.

๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

์ถ”์ƒํ™”

  • ๊ตฌ์ œ์ฒ™์ด์ง€ ์•Š๊ฒŒ, ๊ณตํ†ต์  ๋ฝ‘์•„๋‚ด๊ธฐ.
  • ๋‹จ์ : ๊ฐ์ฒด ์ผ๋ถ€ ๊ธฐ๋Šฅ๋งŒ ์‚ฌ์šฉํ•จ.
  • ์žฅ์ : ๊ตฌ์ฒด์ ์ธ ๊ตฌํ˜„์„ ์ˆจ๊ธฐ๊ณ  ํ•ต์‹ฌ ๊ฐœ๋…์ด๋‚˜ ๊ธฐ๋Šฅ์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ์Œ.

 

๋‹คํ˜•์„ฑ

  • ์กฐ์ƒํด๋ž˜์Šคํƒ€์ž…์˜ ์ฐธ์กฐ๋ณ€์ˆ˜๋กœ ์ž์†ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฒƒ(์ฐธ์กฐํ•˜๋Š” ๊ฒƒ)
    ์ด๋ฏธ์ง€

 

์ฐธ์กฐ๋ณ€์ˆ˜์˜ ํ˜•๋ณ€ํ™˜

  • ์„œ๋กœ ์ƒ์†๊ด€๊ณ„์ผ๋•Œ๋งŒ ๊ฐ€๋Šฅํ•จ.
  • ํ˜•๋ณ€ํ™˜์€ ์ฐธ์กฐ๋ณ€์ˆ˜์˜ ํƒ€์ž…์„ ๋ณ€ํ™˜O, ์ธ์Šคํ„ด์Šค๋ณ€ํ™˜X
  • ๋‹จ์ง€ ์ฐธ์กฐํ•˜๊ณ  ์žˆ๋Š” ์ธ์Šคํ„ด์Šค์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉค๋ฒ„์˜ ๊ฐœ์ˆ˜๋ฅผ ์กฐ์ ˆํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ.
  • ์ž์†ํƒ€์ž…์˜ ์ฐธ์กฐ๋ณ€์ˆ˜๋ฅผ ์กฐ์ƒํƒ€์ž…์œผ๋กœ ํ˜•๋ณ€ํ™˜ ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ์ƒ๋žต์ด ๊ฐ€๋Šฅํ•จ.

์ด๋ฏธ์ง€

instanceof ์—ฐ์‚ฐ์ž

  • ์ฐธ์กฐ๋ณ€์ˆ˜๊ฐ€ ์ฐธ์กฐํ•˜๊ณ  ์žˆ๋Š” ์ธ์Šคํ„ด์Šค์˜ ์‹ค์ œํƒ€์ž…์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ.
    • ์˜ˆ์‹œ: Tvํƒ€์ž…์˜ ์ฐธ์กฐ๋ณ€์ˆ˜ t๊ฐ€ CaptionTv์ธ์Šคํ„ด์Šค๋ฅผ ์ฐธ์กฐํ•˜๋Š”์ง€, Tv์ธ์Šคํ„ด์Šค๋ฅผ ์ฐธ์กฐํ•˜๋Š”์ง€ ์•Œ์•„์•ผ CaptionTvํƒ€์ž…์˜ ์ฐธ์กฐ๋ณ€์ˆ˜ ct์—๊ฒŒ ์ฃผ์†Œ์ „๋‹ฌ์ด ๊ฐ€๋Šฅ/๋ถˆ๊ฐ€๋Šฅํ•œ์ง€ ์•Œ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—.(=ํ˜•๋ณ€ํ™˜=์ƒ์†๊ด€๊ณ„๊ฐ„์˜ ์ธ์Šคํ„ด์Šค์ฃผ์†Œ์ „๋‹ฌ)

์ฐธ์กฐ๋ณ€์ˆ˜์™€ ์ธ์Šคํ„ด์Šค์˜ ์—ฐ๊ฒฐ

  • ๋ฉ”์„œ๋“œ๋Š” ํ•ญ์ƒ ๋‚˜์ค‘์— ์ƒ๊ธด ๊ฒƒ. ์ฐธ์กฐ๋ณ€์ˆ˜ ํƒ€์ž… ์ƒ๊ด€ ์—†์ด ์‹ค์ œ ์ธ์Šคํ„ด์Šค์˜ ํƒ€์ž…์ธ ์ž์†ํด๋ž˜์Šค์— ์ •์˜๋œ ๋ฉ”์„œ๋“œ๊ฐ€ ํ˜ธ์ถœ๋จ.



๋‹คํ˜•์„ฑ

๋‹คํ˜•์„ฑ์˜ ์žฅ์ 

  • โ‘ ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋‹คํ˜•์„ฑ ์ ์šฉํ•˜๊ธฐ
    • ํ•˜๋‚˜์˜ ๋ฉ”์„œ๋“œ๋กœ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ „๋‹ฌ๋œ ๊ฐ์ฒด์˜ ์ž์† ํƒ€์ž… ์ธ์Šคํ„ด์Šค๋ฉด ์–ด๋Š ๊ฒƒ์ด๋‚˜ ๋ฐ›์•„๋“ค์ผ ์ˆ˜ ์žˆ์Œ.
    • ๋ฉ”์„œ๋“œ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ Aํƒ€์ž…์˜ ์ฐธ์กฐ๋ณ€์ˆ˜๋ผ๋ฉด ์ด ๋ฉ”์„œ๋“œ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ Aํƒ€์ž…์˜ ์ž์†ํƒ€์ž… ์ฐธ์กฐ๋ณ€์ˆ˜๋Š” ์–ด๋Š ๊ฒƒ์ด๋‚˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋ฐ›์•„๋“ค์ผ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ.
    • void method ( A a ) { ... }
  • โ‘ก์—ฌ๋Ÿฌ ์ข…๋ฅ˜์˜ ๊ฐ์ฒด ๋ฐฐ์—ด๋กœ ๋‹ค๋ฃจ๊ธฐ
    • ๊ณตํ†ต์กฐ์ƒ์„ ๊ฐ€์ง„ ์„œ๋กœ ๋‹ค๋ฅธ ์ข…๋ฅ˜์˜ ๊ฐ์ฒด๋ฅผ ๋ฐฐ์—ด๋กœ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ์Œ.
    • ์กฐ์ƒํƒ€์ž…์˜ ์ฐธ์กฐ๋ณ€์ˆ˜ ๋ฐฐ์—ด์„ ์„ ์–ธํ•ด์„œ, ๊ณตํ†ต์กฐ์ƒ์„ ๊ฐ€์ง„ ์„œ๋กœ ๋‹ค๋ฅธ ์ข…๋ฅ˜์˜ ๊ฐ์ฒด๋“ค์„ ๋ฐฐ์—ด๋กœ ๋ฌถ์„ ์ˆ˜ ์žˆ์Œ.

 

์ถ”์ƒํด๋ž˜์Šค

  • ์ผ๋ฐ˜ํด๋ž˜์Šค์™€ ์œ ์‚ฌํ•˜์ง€๋งŒ ๋ฏธ์™„์„ฑ ๋ฉ”์„œ๋“œ(์ถ”์ƒ๋ฉ”์„œ๋“œ)๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ์Œ.
  • ์ƒˆ๋กœ์šด ํด๋ž˜์Šค๋ฅผ ์ž‘์„ฑํ•˜๋Š”๋ฐ ์žˆ์–ด์„œ ๋ฐ”ํƒ•์ด ๋˜๋Š” ์กฐ์ƒํด๋ž˜์Šค๋กœ์„œ ์ค‘์š”ํ•œ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง.
  • ํ•˜์œ„ํด๋ž˜์Šค์—์„œ ๊ณตํ†ต์ ์œผ๋กœ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ํ•„๋“œ์™€ ๋ฉ”์„œ๋“œ๋ฅผ ์ •์˜ํ•จ.
  • ํ‚ค์›Œ๋“œ abstect๋ฅผ ๋ถ™์ž„.
  • ์ƒ์„ฑ์ž, ๋ฉค๋ฒ„๋ณ€์ˆ˜, ๋ฉ”์„œ๋“œ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Œ.
  • ๊ทธ๋Ÿฌ๋‚˜ ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ์€ ํ•  ์ˆ˜ ์—†์Œ. ์ถ”์ƒํด๋ž˜์Šค๋Š” ๋ฏธ์™„์„ฑํด๋ž˜์Šค์ด๊ธฐ ๋•Œ๋ฌธ์— ์ž์ฒด์ ์œผ๋กœ ์™„์ „ํ•œ ๊ฐ์ฒด๊ฐ€ ๋  ์ˆ˜ ์—†์Œ. ๊ฐ์ฒด ์ƒ์„ฑ X์ถ”์ƒ๋ฉ”์„œ๋“œ
  • ๋ฉ”์„œ๋“œ ๋‚ด์šฉ์ด ์ƒ์†๋ฐ›๋Š” ํด๋ž˜์Šค์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์„ ์–ธ๋ถ€๋งŒ ์ž‘์„ฑํ•˜๊ณ , ์ฃผ์„์œผ๋กœ ์–ด๋–ค ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•  ๋ชฉ์ ์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ๋Š”์ง€ ์•Œ๋ ค์คŒ.
  • ์‹ค์ œ ๋‚ด์šฉ์ธ ๊ตฌํ˜„๋ถ€๋Š” ์ƒ์†๋ฐ›๋Š” ํด๋ž˜์Šค์—์„œ ๊ตฌํ˜„ํ•˜๋„๋ก ๋น„์›Œ๋‘๊ณ  ๊ตฌํ˜„๋ถ€๊ฐ€ ์—†์œผ๋ฏ€๋กœ { }๊ด„ํ˜ธ ๋Œ€์‹  ;๋ฅผ ๋ถ™์—ฌ์คŒ.
  • ๊ตณ์ด abstract๋ฅผ ๋ถ™์—ฌ์„œ ์ถ”์ƒ๋ฉ”์„œ๋“œ๋กœ ์„ ์–ธํ•˜๋Š” ์ด์œ ๋Š” ์ž์†ํด๋ž˜์Šค์—์„œ ์ถ”์ƒ๋ฉ”์„œ๋“œ๋ฅผ ๋ฐ˜๋“œ์‹œ ๊ตฌํ˜„ํ•˜๋„๋ก ๊ฐ•์ œํ•˜๊ธฐ ์œ„ํ•ด์„œ์ž„.



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

์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ด์šฉํ•œ ๋‹ค์ค‘์ƒ์†

  • (๊ณตํ†ต )์ธํ„ฐํŽ˜์ด์Šค์˜ ์ถ”์ƒ๋ฉ”์„œ๋“œ ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ถ”์ƒ๋ฉ”์„œ๋“œ
    • ํด๋ž˜์Šค๊ฐ€ ์ธํ„ฐํŽ˜์ด์Šค์™€ ์กฐ์ƒ ํด๋ž˜์Šค๋ฅผ ๋™์‹œ์— ์ƒ์†ํ•˜๊ณ , ์ƒ์† ๋ฐ›์€ ์ธํ„ฐํŽ˜์ด์Šค์™€ ์กฐ์ƒ ํด๋ž˜์Šค์— ๊ฐ™์€ ์ด๋ฆ„์˜ ์ถ”์ƒ ๋ฉ”์„œ๋“œ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ
    • โ‘ . ํด๋ž˜์Šค์—์„œ ์ง์ ‘ ๋ฉ”์„œ๋“œ๋ฅผ ๊ตฌํ˜„ํ•˜๋ฉด (๋ฉ”์„œ๋“œ์˜ค๋ฒ„๋ผ์ด๋”ฉํ•˜๋ฉด), ํด๋ž˜์Šค์—์„œ ์ง์ ‘ ํ•ด๋‹น ๋ฉ”์„œ๋“œ๋ฅผ ๊ตฌํ˜„ํ•˜๋ฉด ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ถ”์ƒ ๋ฉ”์„œ๋“œ๋Š” ๋ฌด์‹œ๋˜๊ณ , ํ•ด๋‹น ํด๋ž˜์Šค์˜ ๋ฉ”์„œ๋“œ๊ฐ€ ํ˜ธ์ถœ๋จ.
    • โ‘กํด๋ž˜์Šค์—์„œ ์ง์ ‘ ํ•ด๋‹น ๋ฉ”์„œ๋“œ๋ฅผ ๊ตฌํ˜„ํ•˜์ง€ ์•Š์œผ๋ฉด, ์กฐ์ƒ ํด๋ž˜์Šค์˜ ๋ฉ”์„œ๋“œ๊ฐ€ ์šฐ์„ ์ ์œผ๋กœ ํ˜ธ์ถœ๋˜๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ . ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ถ”์ƒ ๋ฉ”์„œ๋“œ๋Š” ๋ฌด์‹œ๋˜๊ณ , ์กฐ์ƒ ํด๋ž˜์Šค์˜ ๋ฉ”์„œ๋“œ๊ฐ€ ํ˜ธ์ถœ๋จ.

 

์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ด์šฉํ•œ ๋‹คํ˜•์„ฑ

  • ์ธํ„ฐํŽ˜์ด์Šค ์—ญ์‹œ ์ด๋ฅผ ๊ตฌํ˜„ํ•œ ํด๋ž˜์Šค์˜ ์กฐ์ƒ์ด๋ผ ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ํ•ด๋‹น ์ธํ„ฐํŽ˜์ด์Šค ํƒ€์ž…์˜ ์ฐธ์กฐ๋ณ€์ˆ˜๋กœ ์ด๋ฅผ ๊ตฌํ˜•ํ•œ ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ฐธ์กฐ ๊ฐ€๋Šฅํ•จ.
  • ์ธํ„ฐํŽ˜์ด์Šคํƒ€์ž…์œผ๋กœ์˜ ํ˜•๋ณ€ํ™˜๋„ ๊ฐ€๋Šฅํ•จ.
    ์ „์ œ
  • โ‘ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์ธํ„ฐํŽ˜์ด์Šค ํƒ€์ž…
    • ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ ์‹œ ํ•ด๋‹น์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ œ๊ณตํ•จ.
      ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์ธํ„ฐํŽ˜์ด์Šค ํƒ€์ž…
  • โ‘ก๋ฐ˜ํ™˜ํƒ€์ž…์ด ์ธํ„ฐํŽ˜์ด์Šค ํƒ€์ž…
    • ๋ฉ”์„œ๋“œ๊ฐ€ ํ•ด๋‹น ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•จ.
      ๋ฐ˜ํ™˜ํƒ€์ž…์ด ์ธํ„ฐํŽ˜์ด์Šค ํƒ€์ž…

 

์ธํ„ฐํŽ˜์ด์Šค์˜ ์žฅ์ 

  • ๊ฐœ๋ฐœ์‹œ๊ฐ„ ๋‹จ์ถ•
    • ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ์ชฝ์—์„œ ๋ฉ”์„œ๋“œ ๋‚ด์šฉ๊ณผ ๊ด€๊ณ„์—†์ด ์„ ์–ธ๋ถ€๋งŒ ์•Œ์•„๋„ ์ž‘์„ฑ์ด ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ
  • ํ‘œ์ค€ํ™” ๊ฐ€๋Šฅ
    • ๊ธฐ๋ณธํ‹€์„ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ์ž‘์„ฑํ•˜๋ฉด ์ผ๊ด€๋˜๊ณ  ์ •ํ˜•ํ™”๋œ ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ์ด ๊ฐ€๋Šฅํ•จ
  • ์„œ๋กœ ๊ด€๊ณ„์—†๋Š” ํด๋ž˜์Šค๋“ค์˜ ๊ด€๊ณ„๋ฅผ ๋งบ์–ด์ค„ ์ˆ˜ ์žˆ์Œ
    • ํ•˜๋‚˜์˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ณตํ†ต์ ์œผ๋กœ ๊ตฌํ˜„ํ•˜๊ฒŒํ•˜๋ฉด ๊ด€๊ณ„๋งบ์–ด์ฃผ๊ธฐ๊ฐ€ ๊ฐ€๋Šฅํ•จ.
  • ๋…๋ฆฝ์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ๊ฐ€๋Šฅ
    • ์„ ์–ธ/๊ตฌํ˜„์ด ๋ถ„๋ฆฌ๋˜์–ด ์‹ค์ œ๊ตฌํ˜„์— ๋…๋ฆฝ์ ์ธ ๊ทธ๋กœ๊ทธ๋ž˜๋ฐ์ด ๊ฐ€๋Šฅ. ํด๋ž˜์Šค๊ฐ„์˜ ์ง์ ‘๊ด€๊ณ„๋ฅผ ๊ฐ„์ ‘๊ด€๊ณ„๋กœ ๋ณ€๊ฒฝํ•˜๋ฉด ๋‹ค๋ฅธ ํ•œ ์ชฝ์˜ ๋ณ€๊ฒฝ์ด ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์Œ.
    •  
    • ์ธํ„ฐํŽ˜์ด์Šค
    • ์œ„์˜ ๊ทธ๋ฆผ์—์„œ C, D์—๋งŒ ์ƒˆ๋กœ์šด ๋ฉ”์„œ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ ์‹ถ์„ ๋•Œ
      • โ‘ ์›ํ•˜๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์ •์˜ํ•˜๋Š” ์ƒˆ ์ธํ„ฐํŽ˜์ด์Šค ์ •์˜
      • โ‘ก์ด ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” Fํด๋ž˜์Šค ์ž‘์„ฑ
      • โ‘ขํด๋ž˜์Šค C,D๊ฐ€ ์ƒˆ ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„ & ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„ํ•œ Fํด๋ž˜์Šค๋ฅผ ํฌํ•จํ•˜๋„๋ก ํ•˜๊ณ  → ๋‚ด๋ถ€์ ์œผ๋กœ ํ˜ธ์ถœํ•ด์„œ ์‚ฌ์šฉํ•˜๋ฉด ๋จ.

 

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

  • ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š”์ชฝ, ํด๋ž˜์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š”์ชฝ์ด ์žˆ์Œ.
  • ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉ(ํ˜ธ์ถœ)ํ•˜๋Š” ์ชฝ์—์„œ๋Š” ๋ฉ”์„œ๋“œ์˜ ์„ ์–ธ๋ถ€๋งŒ ์•Œ๋ฉด ๋จ.
  • ์ง์ ‘๊ฒฐํ•ฉ,๊ฐ•ํ•œ๊ฒฐํ•ฉ์ผ ๋•Œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ™œ์šฉํ•˜๋ฉด ๊ฐ„์ ‘๊ฒฐํ•ฉ,์œ ์—ฐํ•œ๊ฒฐํ•ฉ์œผ๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์Œ.

 

์ถ”์ƒํด๋ž˜์Šค vs ์ธํ„ฐํŽ˜์ด์Šค

๋น„๊ต

)

์ฝ”๋“œ

 

๋””ํดํŠธ ๋ฉ”์„œ๋“œ

  • “์ธํ„ฐํŽ˜์ด์Šค์˜์— ๋ฉ”์„œ๋“œ๋ฅผ ์ถ”๊ฐ€”= ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ ํด๋ž˜์Šค์ด ์ƒˆ๋กœ์šด ๋ฉ”์„œ๋“œ๋ฅผ ๊ตฌํ˜„ํ•ด์•ผํ•จ.์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ์กด ํด๋ž˜์Šค๋“ค์—๊ฒŒ ๋งค์šฐ ๋ถ€๋‹ด์ž„.
  • ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ตœ์„ ์ด์ง€๋งŒ ๋ณ€ํ™”๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ์Œ. ๊ทธ๋ž˜์„œ ๋””ํดํŠธ๋ฉ”์„œ๋“œ๋ฅผ ๋งŒ๋“ฆ.
  • ๋””ํดํŠธ ๋ฉ”์„œ๋“œ๋Š” ์ถ”์ƒ๋ฉ”์„œ๋“œ์˜ ๊ธฐ๋ณธ์ ์ธ ๊ตฌํ˜„์„ ์ œ๊ณตํ•˜๋Š” ๋ฉ”์„œ๋“œ.
  • ์ถ”์ƒ๋ฉ”์„œ๋“œ๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ƒˆ๋กœ ์ถ”๊ฐ€๋˜์–ด๋„ ํ•ด๋‹น ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ ํด๋ž˜์Šค๋“ค์ด ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์•„๋„๋จ.
  • public default void method() { ... }

 

๋ฉ”์„œ๋“œ์˜ ์ด๋ฆ„ ์ค‘๋ณต ์‹œ

๋ฉ”์„œ๋“œ์ด๋ฆ„์ค‘๋ณต



๋‚ด๋ถ€ํด๋ž˜์Šค

๋‚ด๋ถ€ํด๋ž˜์Šค

  • ํด๋ž˜์Šค ๋‚ด์— ์„ ์–ธ๋œ ํด๋ž˜์Šค.
  • ๋‘ ํด๋ž˜์Šค๊ฐ€ ์„œ๋กœ ๊ธด๋ฐ€ํ•œ ๊ด€๊ณ„์ผ ๋•Œ ํ•œ์ชฝ์„ ๋‚ด๋ถ€ํด๋ž˜์Šค๋กœ ํฌํ•จํ•จ.
  • ๋‚ด๋ถ€ํด๋ž˜์Šค๋Š” ์„ ์–ธ ์œ„์น˜์— ๋”ฐ๋ผ ์ข…๋ฅ˜๊ฐ€ ๋‹ค๋ฆ„.

 

๋‚ด๋ถ€ํด๋ž˜์Šค์˜ ์žฅ์ 

  • ๋‚ด๋ถ€ํด๋ž˜์Šค์—์„œ ์™ธ๋ถ€ํด๋ž˜์Šค์˜ ๋ฉค๋ฒ„๋“ค์— ์‰ฝ๊ฒŒ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•จ.
  • ์ฝ”๋“œ์˜ ๋ณต์žก์„ฑ์„ ์ค„์—ฌ์คŒ.
  • ์™ธ๋ถ€๋กœ๋ถ€ํ„ฐ ๋ถˆํ•„์š”ํ•œ ํด๋ž˜์Šค๋ฅผ ๊ฐ์ถค=(์บก์Šํ™”).

 

์„ ์–ธ์œ„์น˜์— ๋”ฐ๋ฅธ ๋‚ด๋ถ€ํด๋ž˜์Šค

  • ์ธ์Šคํ„ด์Šคํด๋ž˜์Šค
    • ์ธ์Šคํ„ด์Šค๋ณ€์ˆ˜์™€ ๊ฐ™์€ ์„ฑ์งˆ,๊ทœ์น™์„ ๊ฐ€์ง.
  • ์Šคํƒœํ‹ฑํด๋ž˜์Šค
    • ์Šคํƒœํ‹ฑ๋ณ€์ˆ˜์™€ ๊ฐ™์€ ์„ฑ์งˆ,๊ทœ์น™์„ ๊ฐ€์ง.
    • ๋ฉค๋ฒ„๋ณ€์ˆ˜์™€ ๊ฐ™์€ ์„ฑ์งˆ๊ณผ ๊ทœ์น™์„ ๊ฐ€์ง„๋‹ค๋Š” ๊ฒƒ์€abstract, final, private, protected๋ฅผ ๋ถ™์ผ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ.
  • ์ง€์—ญํด๋ž˜์Šค
    • ์™ธ๋ถ€ํด๋ž˜์Šค์˜ ๋ฉ”์„œ๋“œ๋‚˜ ์ดˆ๊ธฐํ™” ๋ธ”๋ก ์•ˆ์— ์„ ์–ธํ•จ.
    • ์ง€์—ญํด๋ž˜์Šค๋Š” ์™ธ๋ถ€ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋ฉค๋ฒ„์™€ ์Šคํƒœํ‹ฑ๋ฉค๋ฒ„๋ฅผ ๋ชจ๋‘ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•จ.
    • ์ง€์—ญํด๋ž˜์Šค๊ฐ€ ํฌํ•จ๋œ ๋ฉ”์„œ๋“œ์— ์ •์˜๋œ final์ด ๋ถ™์€ ์ง€์—ญ๋ณ€์ˆ˜๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•จ.
  • ์ต๋ช…ํด๋ž˜์Šค
    • ํด๋ž˜์Šค ์„ ์–ธ๊ณผ ๊ฐ์ฒด์ƒ์„ฑ์„ ๋™์‹œ์— ํ•˜๋Š” ๊ฒƒ.
    • ๋”ฐ๋ผ์„œ ๋‹จ ํ•œ๋ฒˆ๋งŒ ์‚ฌ์šฉ, ์˜ค์ง ํ•˜๋‚˜์˜ ๊ฐ์ฒด๋งŒ ์ƒ์„ฑ.
    • ์ผํšŒ์šฉ ํด๋ž˜์Šค.
    • new ๋นŒ๋ ค์“ด์ด๋ฆ„ ( ) {...}
    • ๋นŒ๋ ค์“ด์ด๋ฆ„: ์กฐ์ƒํด๋ž˜์Šค์ด๋ฆ„or๊ตฌํ˜„์ธํ„ฐํŽ˜์ด์Šค์ด๋ฆ„.
    • ์ด๋ฆ„์„ ๋นŒ๋ ค์“ฐ๊ธฐ ๋•Œ๋ฌธ์— ์ƒ์„ฑ์ž๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์—†์Œ. ์˜ค๋กœ์ง€ ๋‹จ ํ•˜๋‚˜์˜ ํด๋ž˜์Šค๋ฅผ ์ƒ์†ํ•˜๊ฑฐ๋‚˜, ๋‹จ ํ•˜๋‚˜์˜ ์ธํ„ฐํŽ˜์ด์Šค๋งŒ ๊ตฌํ˜„ํ•จ.