λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
Python

[Python] μƒμ„±μž(Constructor)

by μ½”λ”©ν•˜λŠ” λΆ•μ–΄ 2021. 4. 2.
λ°˜μ‘ν˜•

[Python] 사칙연산 클래슀 λ§Œλ“€κΈ°μ— μ΄μ–΄μ„œ..

 

FourCal() 클래슀의 μΈμŠ€ν„΄μŠ€ a에 setdata λ©”μ„œλ“œλ₯Ό μˆ˜ν–‰ν•˜μ§€ μ•Šκ³  add λ©”μ„œλ“œλ₯Ό μˆ˜ν–‰ν•˜λ©΄ 였λ₯˜κ°€ λ°œμƒν•œλ‹€. setdata λ©”μ„œλ“œλ₯Ό μˆ˜ν–‰ν•΄μ•Ό 객체 a의 κ°μ²΄λ³€μˆ˜ first와 secondκ°€ μƒμ„±λ˜κΈ° λ•Œλ¬Έμ΄λ‹€.

 

μ΄λ ‡κ²Œ 객체에 μ΄ˆκΈ°κ°’μ„ μ„€μ •ν•΄μ•Ό ν•  ν•„μš”κ°€ μžˆμ„ λ•ŒλŠ” setdata와 같은 λ©”μ„œλ“œλ₯Ό ν˜ΈμΆœν•˜μ—¬ μ΄ˆκΉƒκ°’μ„ μ„€μ •ν•˜κΈ°λ³΄λ‹€λŠ” μƒμ„±μžλ₯Ό κ΅¬ν˜„ν•˜λŠ” 것이 μ•ˆμ „ν•˜λ‹€.

μƒμ„±μžλž€ 객체가 생성될 λ•Œ μžλ™μœΌλ‘œ ν˜ΈμΆœλ˜λŠ” λ©”μ„œλ“œλ₯Ό μ˜λ―Έν•œλ‹€.

파이썬 λ©”μ„œλ“œ μ΄λ¦„μœΌλ‘œ __init__λ₯Ό μ‚¬μš©ν•˜λ©΄ 이 λ©”μ„œλ“œλŠ” μƒμ„±μžκ°€ λœλ‹€.

 

FourCal ν΄λž˜μŠ€μ— μƒμ„±μžλ₯Ό μΆ”κ°€ν•΄λ³΄μž.

 

 

μƒˆλ‘­κ²Œ μΆ”κ°€λœ μƒμ„±μž __init__ λ©”μ„œλ“œλ§Œ λ”°λ‘œ λ–Όμ–΄ λ‚΄μ„œ μ‚΄νŽ΄ 보자.

__init__ λ©”μ„œλ“œλŠ” setdata λ©”μ„œλ“œμ™€ μ΄λ¦„λ§Œ λ‹€λ₯΄κ³  λͺ¨λ“  게 λ™μΌν•˜λ‹€.

단, λ©”μ„œλ“œ 이름을 __init__으둜 ν–ˆκΈ° λ•Œλ¬Έμ— μƒμ„±μžλ‘œ μΈμ‹λ˜μ–΄ 객체가 μƒμ„±λ˜λŠ” μ‹œμ μ— μžλ™μœΌλ‘œ ν˜ΈμΆœλ˜λŠ” 차이가 μžˆλ‹€.

 

 

a = FourCal()을 μˆ˜ν–‰ν•  λ•Œ μƒμ„±μž __init__이 ν˜ΈμΆœλ˜μ–΄ μœ„μ™€ 같은 였λ₯˜κ°€ λ°œμƒν–ˆλ‹€. 였λ₯˜κ°€ λ°œμƒν•œ μ΄μœ λŠ” μƒμ„±μžμ˜ λ§€κ°œλ³€μˆ˜ first와 second에 ν•΄λ‹Ήν•˜λŠ” 값이 μ „λ‹¬λ˜μ§€ μ•Šμ•˜κΈ° λ•Œλ¬Έμ΄λ‹€.

 

μœ„μ˜ 였λ₯˜λ₯Ό ν•΄κ²°ν•˜λ €λ©΄ μ•„λž˜μ²˜λŸΌ first와 second에 ν•΄λ‹Ήλ˜λŠ” 값을 μ „λ‹¬ν•˜μ—¬ 객체λ₯Ό 생성해야 ν•œλ‹€.

a = FourCal(4, 2)

 

μœ„μ™€ 같이 μˆ˜ν–‰ν•˜λ©΄ __init__λ©”μ„œλ“œμ˜ λ§€κ°œλ³€μˆ˜μ—λŠ” 각각 μ•„λž˜μ™€ 같은 값이 λŒ€μž…λœλ‹€.

λ§€κ°œλ³€μˆ˜

κ°’

self

μƒμ„±λ˜λŠ” 객체

first

4

second

2

 

λ”°λΌμ„œ __init__ λ©”μ„œλ“œκ°€ 호좜되면 setdata λ©”μ„œλ“œλ₯Ό ν˜ΈμΆœν–ˆμ„ λ•Œμ™€ λ§ˆμ°¬κ°€μ§€λ‘œ first와 secondλΌλŠ” 객체 λ³€μˆ˜κ°€ 생성될 것이닀.

 

λ‹€λ₯Έ 것도 잘 λ™μž‘λ˜λ‚˜ 확인!!

λ°˜μ‘ν˜•

λŒ“κΈ€