λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
🐍 | Python/파이썬 문법

클래슀_(1)

by KASSID 2021. 11. 3.

λͺ©μ°¨

    728x90

    μ§€κΈˆκΉŒμ§€ λ‹€λ€˜λ˜ ν•¨μˆ˜λΆ€λΆ„κΉŒμ§€λ§Œ μ΄μš©ν•΄μ„œλ„ μ›¬λ§Œν•œ ν”„λ‘œκ·Έλž¨μ€ μž‘μ„±ν•  수 μžˆμ„ 것이닀.

    ν•˜μ§€λ§Œ ν”„λ‘œκ·Έλž˜λ°μ˜ 꽃이라고 λΆˆλ¦¬λŠ” 클래슀, λͺ¨λ“ˆ 등을 μ‚¬μš©ν•œλ‹€λ©΄

    λ”μš± 완성도 있고 νŽΈλ¦¬ν•˜κ²Œ κΈ°λŠ₯을 λ§Œλ“€ 수 μžˆμ„ 것이닀!

     

    μ΄λ²ˆμ— 닀뀄볼 것은 κ·Έ 첫 번째 ν΄λž˜μŠ€μ΄λ‹€.

     

    클래슀

    ν΄λž˜μŠ€λŠ” ν”νžˆλ“€ μΏ ν‚€ν‹€, λΆ•μ–΄λΉ΅ν‹€ λ“±λ“± 으둜 λΉ„μœ λ₯Ό ν•˜κ³€ ν•˜λŠ”λ°

    좜처_ nounproject

    | μ°μ–΄λ‚΄λŠ” ν‹€ = 클래슀(class)   |

    | κ·Έκ²ƒμ˜ ν”Όμ‘°λ¬Ό = 객체(object) |

     

    μ΄λ ‡κ²Œ 이해λ₯Ό ν•˜λ©΄ 쉽닀!

    λ‹€μ‹œ μ΄μ•ΌκΈ°ν•˜μžλ©΄ ν΄λž˜μŠ€λŠ” λ˜‘κ°™μ€ 것을 λ§Œλ“€μ–΄ λ‚Ό 수 μžˆλŠ” ν‹€ ν˜Ήμ€ μ„€κ³„λ„μ˜ 역할을 ν•˜κ³ 

    κ°μ²΄λŠ” 클래슀둜 λ§Œλ“  것이닀.

    이 λ•Œ 객체듀은 λ˜‘κ°™μ€ ν΄λž˜μŠ€μ—μ„œ λ§Œλ“€μ–΄μ‘Œμ–΄λ„ μ €λ§ˆλ‹€μ˜ κ³ μœ μ„±μ„ 가지고 μžˆλ‹€.

     

     

    ________________________________________________________

    (μ—¬κΈ°μ„œ 잠깐 μš©μ–΄μ •λ¦¬!)

    객체와 μΈμŠ€ν„΄μŠ€

    객체와 μΈμŠ€ν„΄μŠ€λŠ” μ„œλ‘œ 같은 것을 κ°€λ¦¬ν‚€λŠ”λ°

    '클래슀둜 λ§Œλ“  객체 = μΈμŠ€ν„΄μŠ€' 이닀.

     

    ex)

    a = Cookie()

    aλŠ” 객체이닀.

    aκ°μ²΄λŠ” Cookie()클래슀의 μΈμŠ€ν„΄μŠ€μ΄λ‹€.

    aλŠ” Cookie()의 μΈμŠ€ν„΄μŠ€μ΄λ‹€.

    ________________________________________________________

     

    클래슀의 μ‚¬μš© μ˜ˆμ‹œλ₯Ό κ°„λ‹¨ν•˜κ²Œ μ΄μ•ΌκΈ°ν•˜λ©΄

    1. κ²Œμž„μ—μ„œ μΊλ¦­ν„°μ˜ 직업 클래슀λ₯Ό λ§Œλ“€κ±°λ‚˜

    2. 배경에 μžˆλŠ” λ‚˜λ¬΄λ“€, μžλ™μ°¨λ“€μ˜ 클래슀λ₯Ό λ§Œλ“ λ‹€κ±°λ‚˜

    3. 슀크둀 λ°”, λ²„νŠΌ λ“± μƒν˜Έμž‘μš©μ„ ν•  수 μžˆλŠ” κΈ°λŠ₯을 가진 클래슀λ₯Ό λ§Œλ“ λ‹€κ±°λ‚˜

     

    λ“±λ“± λ‹€μ–‘ν•˜κ²Œ μ΄μš©μ„ ν•  수 μžˆλ‹€.

     

     

    클래슀의 ꡬ쑰

    class 클래슀λͺ…:
        def λ©”μ†Œλ“œ(self,...):
        ...

    클래슀λ₯Ό 생성할 λ•ŒλŠ” μœ„μ˜ ꡬ쑰이닀.

    클래슀 μ•ˆμ— μƒμ„±λœ ν•¨μˆ˜λŠ” 전에도 λ‹€λ€˜μ—ˆλ˜ 'λ©”μ†Œλ“œ'이닀.

    class Profile:
        def info(self,name,age):	# λ©”μ†Œλ“œ
            self.name = name	# λ©€λ²„λ³€μˆ˜1
            self.age = age		# λ©€λ²„λ³€μˆ˜2
           
    user1 = Profile()
    user1.info('λ°•μˆœμž', '24')

    μœ„μ˜ μ˜ˆμ‹œμ—μ„œ

    user1은 Profile클래슀의 μΈμŠ€ν„΄μŠ€μ΄λ‹€.

    infoλŠ” Profile의 λ©”μ†Œλ“œλ‘œμ„œ λ§€κ°œλ³€μˆ˜λ‘œ 이름과 λ‚˜μ΄λ₯Ό λ°›λŠ” ν•¨μˆ˜μ΄λ‹€.

     

    μ΄λ•Œ info의 λ§€κ°œλ³€μˆ˜λŠ” self, name, age둜 μ„Έ κ°œμ§€λ§Œ μ‹€μ œ ν˜ΈμΆœμ„ ν•˜μ—¬ μ‚¬μš©ν•  λ•Œ 인수λ₯Ό 2개만 μ£Όμ—ˆλ‹€.

     

    μ΄λŠ” ꡬ쑰λ₯Ό 톡해 이유λ₯Ό μ‚΄νŽ΄λ³΄λ©΄

    μœ„μ²˜λŸΌ selfλŠ” user1μ΄λΌλŠ” 객체λ₯Ό μž…λ ₯λ°›κ³ , λ‚˜λ¨Έμ§€ λ§€κ°œλ³€μˆ˜λŠ” μž…λ ₯값을 λ°›λŠ” 것이닀.

     

     

    λ©€λ²„λ³€μˆ˜

    λ©€λ²„λ³€μˆ˜λŠ” 클래슀 λ‚΄μ—μ„œ μ •μ˜λœ λ³€μˆ˜μ΄λ‹€.

    μ΄λ•Œ 클래슀의 μ™ΈλΆ€μ—μ„œ μ‚¬μš©μžκ°€ μ›ν•˜λŠ” λ³€μˆ˜λ₯Ό λ§Œλ“€μ–΄μ„œ ν™•μž₯을 μ‹œν‚¬ 수 μžˆλŠ”λ°

    ν™•μž₯된 λ³€μˆ˜λŠ” ν™•μž₯을 ν•œ κ°μ²΄μ—κ²Œλ§Œ 적용이 λœλ‹€.

     

    class character():
        def__init__(self, name):
            self.name = name
            print("캐릭터가 생성이 λ˜μ—ˆμŠ΅λ‹ˆλ‹€.")
            print(f"{name}λ‹˜ ν™˜μ˜ν•©λ‹ˆλ‹€!")
    
    hero1 = charcter('λ‚˜λ½λ”°μœ„μ „μ‚¬')
    hero2 = character('νƒ€λ½νŒŒμ›Œμ „μ‚¬')
    hero2.clocking = True	#hero1μ—κ²Œ νŠΉλ³„ λ©€λ²„λ³€μˆ˜ μ •μ˜
    if hero1.clocking = True:
        print(f"{hero.name} : (은신 쀑)")

    μœ„μ˜ μ˜ˆμ‹œμ—μ„œ hero1, hero2 두 객체 λͺ¨λ‘ characterλΌλŠ” 클래슀의 μΈμŠ€ν„΄μŠ€μ§€λ§Œ

    hero2μ—κ²ŒλŠ” μ€μ‹ μ΄λΌλŠ” νŠΉλ³„ μŠ€ν‚¬μ„ λΆ€μ—¬λ₯Ό ν•΄μ£Όμ—ˆλ‹€.

    hero1은 hero2의 μŠ€ν‚¬μΈ 은신을 뢀여받지 λͺ»ν–ˆκΈ° λ•Œλ¬Έμ— μ‚¬μš©μ„ ν•  μˆ˜κ°€ μ—†λ‹€!

     

    '🐍 | Python > 파이썬 문법' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

    python _ id()ν•¨μˆ˜_μΆ”κ°€λ‘œ μ•Œκ²Œ 된 점!  (0) 2021.12.30
    *args 와 **kwargs  (0) 2021.10.15
    ν•¨μˆ˜μ™€ λ©”μ†Œλ“œ  (0) 2021.10.02
    pickle  (0) 2021.09.28
    파일 μž…μΆœλ ₯  (0) 2021.09.23

    λŒ“κΈ€