ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Python] Class(ํด๋ž˜์Šค), Object, ์ƒ์† ์ดํ•ด
    Python 2020. 11. 7. 17:49
    ๋ฐ˜์‘ํ˜•
    • ์ด ๊ธ€์€ python์˜ ํด๋ž˜์Šค์™€ ๊ด€๋ จ๋œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.

    Class๋ž€

    • ์‹ค์„ธ๊ณ„์˜ ๊ฒƒ์„ ๋ชจ๋ธ๋งํ•˜์—ฌ ์†์„ฑ๊ณผ ๋™์ž‘์„ ๊ฐ–๋Š” ๋ฐ์ดํ„ฐ ํƒ€์ž…

    • python์—์„œ์˜ string, int, list, dict ๋ชจ๋‘๊ฐ€ ๋‹ค ํด๋ž˜์Šค๋กœ ์กด์žฌ

    • ๋‹ค๋ฃจ๊ณ ์ž ํ•˜๋Š” ๋ฐ์ดํ„ฐ์™€ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ์—ฐ์‚ฐ์„ ํ•˜๋‚˜๋กœ ์บก์Šํ™”ํ•˜์—ฌ ํด๋ž˜์Šค๋กœ ํ‘œํ˜„

    • class ํ‚ค์›Œ๋“œ๋ฅผ ์ด์šฉํ•˜์—ฌ ์ •์˜

    init(self)

    • ์ƒ์„ฑ์ž๋ฅผ ์ •์˜, ํด๋ž˜์Šค ์ธ์Šคํ„ด์Šค๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ ํ˜ธ์ถœ๋จ

    • self์ธ์ž๋Š” ํ•ญ์ƒ ์ฒซ ๋ฒˆ์งธ๋กœ ์˜ค๋ฉฐ ์ž๊ธฐ ์ž์‹ ์„ ๊ฐ€๋ฆฌํ‚ด, c++/c#, java์˜ this์— ํ•ด๋‹น

    • ์ƒ์„ฑ์ž์—์„œ ํ•ด๋‹น ํด๋ž˜์Šค๊ฐ€ ๋‹ค๋ฃจ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ •์˜

    method ์ •์˜

    • ๋ฉค๋ฒ„ํ•จ์ˆ˜๋ผ๊ณ  ํ•˜๋ฉฐ, ํ•ด๋‹น ํด๋ž˜์Šค์˜ object์—์„œ๋งŒ ํ˜ธ์ถœ ๊ฐ€๋Šฅ

    • ๋ฉ”์†Œ๋“œ๋Š” ๊ฐ์ฒด ๋ ˆ๋ฒจ์—์„œ ํ˜ธ์ถœ๋˜๋ฉฐ, ํ•ด๋‹น ๊ฐ์ฒด์˜ ์†์„ฑ์— ๋Œ€ํ•œ ์—ฐ์‚ฐ์ด ๊ฐ€๋Šฅ

    ์ƒ์†

    • ๊ธฐ์กด์— ์ •์˜ํ•ด๋‘” ํด๋ž˜์Šค์˜ ๊ธฐ๋Šฅ์„ ๊ทธ๋Œ€๋กœ ๋ฌผ๋ ค๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

    • ๊ธฐ์กด ํด๋ž˜์Šค์— ๊ธฐ๋Šฅ ์ผ๋ถ€๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜, ๋ณ€๊ฒฝํ•˜์—ฌ ์ƒˆ๋กœ์šด ํด๋ž˜์Šค๋ฅผ ์ •์˜ํ•œ๋‹ค.

    • ์ฝ”๋“œ๋ฅผ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

    • ์ƒ์† ๋ฐ›๊ณ ์ž ํ•˜๋Š” ๋Œ€์ƒ์ธ ๊ธฐ์กด ํด๋ž˜์Šค๋Š” (Parent, Super, Base) class๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

    • ์ƒ์† ๋ฐ›๋Š” ์ƒˆ๋กœ์šด ํด๋ž˜์Šค๋Š” (Child, Sub, Derived) class๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

    method override

    • ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ method๋ฅผ ์žฌ์ •์˜

    • ํ•˜์œ„ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋กœ ํ˜ธ์ถœ์‹œ, ์žฌ์ •์˜๋œ ๋ฉ”์†Œ๋“œ๊ฐ€ ํ˜ธ์ถœ๋จ

    • ๋ถ€๋ชจ์˜ ํ•จ์ˆ˜๋ฅผ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€ super() ํ‚ค์›Œ๋“œ๋ฅผ ์ด์šฉํ•˜์—ฌ ํ•จ์ˆ˜ ํ˜ธ์ถœ

    special method

    • _ ๋กœ ์‹œ์ž‘ํ•˜์—ฌ ๋กœ ๋๋‚˜๋Š” ํŠน์ˆ˜ํ•จ์ˆ˜ ( ex. _sub, add, mul ...)

    • ํ•ด๋‹น ๋ฉ”์†Œ๋“œ๋ฅผ ๊ตฌํ˜„ํ•˜๋ฉด, ์ปค์Šคํ…€ ๊ฐ์ฒด์— ์—ฌ๋Ÿฌ๊ฐ€์ง€ ํŒŒ์ด์ฌ ๋‚ด์žฅํ•จ์ˆ˜๋‚˜ ์—ฐ์‚ฐ์ž ์ ์šฉ ๊ฐ€๋Šฅ

    ๋ฐ˜์‘ํ˜•
Designed by Tistory.