Lecture/์ฝ”๋“œ์Šคํ…Œ์ด์ธ 

[SEB FE] section 2 unit 2 (2) ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

Dong _ hwa 2022. 9. 21. 22:50

 

OOP

  • OOP๋Š” ํ”„๋กœ๊ทธ๋žจ ์„ค๊ณ„ ์ฒ ํ•™
  • OOP์˜ ๋ชจ๋“  ๊ฒƒ์€ '๊ฐ์ฒด'๋กœ ๊ทธ๋ฃนํ™”
  • OOP์˜ 4๊ฐ€์ง€ ์ฃผ์š” ๊ฐœ๋…์„ ํ†ตํ•ด ์žฌ์‚ฌ์šฉ์„ฑ์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

ํด๋ž˜์Šค์™€ ์ธ์Šคํ„ด์Šค

  • ํด๋ž˜์Šค๋Š” ์ผ์ข…์˜ ์›ํ˜•(original form)์œผ๋กœ, ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์•„์ด๋””์–ด๋‚˜ ์ฒญ์‚ฌ์ง„
  • ์ธ์Šคํ„ด์Šค๋Š” ํด๋ž˜์Šค์˜ ์‚ฌ๋ก€(instance object) 
  • ํด๋ž˜์Šค๋Š” ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ์ƒ์„ฑ์ž(constructor) ํ•จ์ˆ˜๋ฅผ ํฌํ•จ

 

์†์„ฑ๊ณผ ๋ฉ”์„œ๋“œ..

์ƒ‰์ƒ, ๊ฐ€๊ฒฉ, ์†๋ ฅ๊ณผ ๊ฐ™์€ ๊ณ ์œ ์˜ ์†์„ฑ

๊ทธ๋ฆฌ๊ณ  ์‹œ์ž‘, ํ›„์ง„, ์ „์ง„, ๋ฉˆ์ถค๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ๋“ค์ด ๋ฉ”์„œ๋“œ๋กœ ์กด์žฌํ•œ๋‹ค.

 

 

 

OOP์˜ ๋„ค ๊ฐ€์ง€ ๊ฐœ๋…

(Encapsulation, Inheritance, Abstraction, Polymorphism)

 

 

์บก์Аํ™”๋Š” ๋ฐ์ดํ„ฐ(์†์„ฑ), ๊ธฐ๋Šฅ(๋ฉ”์„œ๋“œ)๋ฅผ ๋”ฐ๋กœ ์ •์˜ํ•˜๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ, ํ•˜๋‚˜์˜ ๊ฐ์ฒด ์•ˆ์— ๋„ฃ์–ด์„œ ๋ฌถ๋Š” ๊ฒƒ. (๋А์Šจ~~)

๋А์Šจํ•œ ๊ฒฐํ•ฉ์€ ์ฝ”๋“œ ์‹คํ–‰ ์ˆœ์„œ์— ๋”ฐ๋ผ ์ ˆ์ฐจ์ ์œผ๋กœ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ,

์ฝ”๋“œ๊ฐ€ ์ƒ์ง•ํ•˜๋Š” ์‹ค์ œ ๋ชจ์Šต๊ณผ ๋‹ฎ๊ฒŒ ์ฝ”๋“œ๋ฅผ ๋ชจ์•„ ๊ฒฐํ•ฉํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

 

-์€๋‹‰ํ™”๋„ ํฌํ•จ (๋‚ด๋ถ€ ๋ฐ์ดํ„ฐ๋‚˜ ๋‚ด๋ถ€ ๊ตฌํ˜„์ด ์™ธ๋ถ€๋กœ ๋…ธ์ถœ๋˜์ง€ ์•Š๋„๋ก ๋งŒ๋“œ๋Š” ๊ฒƒ)\

 

 

์ถ”์ƒํ™”๋Š” ๋‚ด๋ถ€๊ตฌํ˜„์€ ์•„์ฃผ ๋ณต์žกํ•œ๋ฐ, ์‹ค์ œ๋กœ ๋…ธ์ถœ๋˜๋Š” ๋ถ€๋ถ„์€ ๋‹จ์ˆœํ•˜๊ฒŒ ๋งŒ๋“ ๋‹ค๋Š” ๊ฐœ๋…

์˜ˆ๋ฅผ ๋“ค๋ฉด ์ „ํ™”๋ผ๋Š” ๊ฐ์ฒด์—์„œ, ์Šคํ”ผ์ปค์™€ ๋งˆ์ดํฌ, ์„œํ‚ท ๋ณด๋“œ ๋“ฑ์ด ์กด์žฌํ•˜๋Š” ๋“ฑ์˜ ๋‚ด๋ถ€๊ตฌํ˜„์ด ์žˆ์„ ์ง€์–ธ์ • ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•  ๋•Œ์—๋Š” ๋‹จ์ˆœํžˆ ์ˆ˜ํ™”๊ธฐ๋ฅผ ๋“ค๊ณ  ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์„œ ํ•ด๊ฒฐํ•œ๋‹ค.

 

-์บก์Аํ™”๊ฐ€ ์ฝ”๋“œ๋‚˜ ๋ฐ์ดํ„ฐ์˜ ์€๋‹‰์— ํฌ์ปค์Šค๊ฐ€ ๋งž์ถฐ์ ธ์žˆ๋‹ค๋ฉด, ์ถ”์ƒํ™”๋Š” ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ๋žŒ์ด ํ•„์š”ํ•˜์ง€ ์•Š์€ ๋ฉ”์„œ๋“œ ๋“ฑ์„ ๋…ธ์ถœ์‹œํ‚ค์ง€ ์•Š๊ณ , ๋‹จ์ˆœํ•œ ์ด๋ฆ„์œผ๋กœ ์ •์˜ํ•˜๋Š” ๊ฒƒ์— ํฌ์ปค์Šค๊ฐ€ ๋งž์ถฐ์ ธ ์žˆ๋‹ค.

 

 

 

 

์ƒ์†์€ ๋ถ€๋ชจ ํด๋ž˜์Šค(๊ธฐ๋ณธํด๋ž˜์Šค-base class)์˜ ํŠน์ง•์„ ์ž์‹ ํด๋ž˜์Šค(ํŒŒ์ƒํด๋ž˜์Šค-derived class)๊ฐ€ ๋ฌผ๋ ค๋ฐ›๋Š” ๊ฒƒ.

 

 

 

๋‹คํ˜•์„ฑ์„ HTML ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ์˜ˆ๋กœ ๋“ค์–ด

DOM์„ ๋ฐฐ์šธ ๋•Œ Textarea(TextBox), Select, ๊ทธ๋ฆฌ๊ณ  Checkbox ๋“ฑ

HTML์—์„œ๋Š” ์ด์™€ ๊ฐ™์ด ๋ชจ๋“  ์š”์†Œ๊ฐ€ ์ „๋ถ€ Element

 

TextBox, Select, Checkbox์˜ ๊ณตํ†ต์˜ ๋ถ€๋ชจ์ธ HTML Element๋ผ๋Š” ํด๋ž˜์Šค์— render๋ผ๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ๋งŒ๋“ค๊ณ  ์ƒ์†์„ ๋ฐ›๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

๋‹คํ˜•์„ฑ์˜ ํ•ต์‹ฌ์€ ์ด ๊ฐ™์€ ์ด๋ฆ„์˜ render๋ผ๋Š” ๋ฉ”์„œ๋“œ๊ฐ€ ์กฐ๊ธˆ์”ฉ ๋‹ค๋ฅด๊ฒŒ ์ž‘๋™ํ•œ๋‹ค๋Š” ๋ฐ ์žˆ๋‹ค.

TextBox๋Š” ๊ฐ€๋กœ๋กœ ๊ธด ๋„ค๋ชจ ์ƒ์ž์™€ ์ปค์„œ๊ฐ€ ์žˆ๋Š” ํ˜•ํƒœ์ผ ๊ฒƒ์ด๊ณ , Select ๋ฐ•์Šค๋Š” ๋ˆŒ๋ €์„ ๋•Œ ์„ ํƒ์ง€๊ฐ€ ๋‚˜์˜ค๋„๋ก ํ™”๋ฉด์— ๊ทธ๋ ค์•ผ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด์ฒ˜๋Ÿผ ๊ฐ™์€ ์ด๋ฆ„์„ ๊ฐ€์ง„ ๋ฉ”์„œ๋“œ๋ผ๋„ ์กฐ๊ธˆ์”ฉ ๋‹ค๋ฅด๊ฒŒ ์ž‘๋™ํ•˜๋Š”๋ฐ, ์ด๊ฒƒ์ด ๋ฐ”๋กœ ๋‹คํ˜•์„ฑ์ด๋‹ค