λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
πŸŽ› Others.../- c & python & android

[Python κ³ κΈ‰]: 객체와 클래슀(4) 클래슀 λ³€μˆ˜ vs μΈμŠ€ν„΄μŠ€ λ³€μˆ˜

by Wonit 2019. 12. 8.

μ§€λ‚œ μ‹œκ°„μ— 정보 은닉에 λŒ€ν•΄μ„œ ν•™μŠ΅ν•˜μ˜€μ„ λ‹Ήμ‹œ 예제둜 λ‚˜νƒ€λƒˆλ˜ μ½”λ“œμ— λŒ€ν•œ 심측적 μ„€λͺ…을 ν•  것이닀.

 

그러기 μœ„ν•΄μ„œ μš°λ¦¬λŠ” 클래슀 λ³€μˆ˜μ™€ μΈμŠ€ν„΄μŠ€ λ³€μˆ˜μ— λŒ€ν•΄μ„œ 이해λ₯Ό ν•΄μ•Όν•˜λŠ”λ°, κ°€μž₯ μ€‘μš”ν•œ 핡심을 λ¨Όμ € μ΄μ•ΌκΈ°ν•˜μžλ©΄.

λ³€μˆ˜κ°€ 클래슀 내뢀에 μžˆμ§€λ§Œ ν•¨μˆ˜ 밖에 μžˆλƒ, ν˜Ήμ€ μ•ˆμ— μžˆλƒμ˜ 차이닀.

이제 클래슀 λ³€μˆ˜μ™€ μΈμŠ€ν„΄μŠ€ λ³€μˆ˜μ— λŒ€ν•΄μ„œ μ•Œμ•„λ³΄μž.

클래슀 λ³€μˆ˜ Class variable

클래슀 λ³€μˆ˜λŠ” 클래슀 내에 μžˆμ§€λ§Œ ν•¨μˆ˜ λ°–μ—μ„œ λ³€μˆ˜λͺ… = 데이터 ν˜•μ‹μœΌλ‘œ μ •μ˜ν•œ λ³€μˆ˜μ΄λ‹€.

 

class Car():
    car_id = 0 # 클래슀 λ³€μˆ˜

    def __init__(self, size, color):
        self.size = size
        self.color = color

 

μ΄λΌλŠ” μ½”λ“œκ°€ μžˆμ„ λ•Œ μœ„μ—μ„œ μ„€λͺ…ν•œ 클래슀 λ³€μˆ˜μ˜ ꡬ뢄 방법에 μ˜ν•˜λ©΄ λ‹Ήμ—°νžˆ 클래슀 λ³€μˆ˜λŠ” car_id = 0이 λ˜λŠ” 것이고, μΈμŠ€ν„΄μŠ€ λ³€μˆ˜λŠ” λ‹Ήμ—°νžˆ self.sizeκ°€ λœλ‹€.

 

클래슀 λ³€μˆ˜ 호좜

클래슀 λ³€μˆ˜λ₯Ό ν˜ΈμΆœν•˜λŠ” 방법은 λ‹€μŒκ³Ό κ°™λ‹€.

class_name.variable_name

 

클래슀 λ³€μˆ˜μ˜ 생성

클래슀 λ³€μˆ˜λ₯Ό μƒμ„±ν•˜κ³  클래슀λ₯Ό μΈμŠ€ν„΄μŠ€ν™” ν•œλ‹€λ©΄ λ©”λͺ¨λ¦¬μ—λŠ” Class λ³€μˆ˜κ°€ μƒμ„±λ˜κ³  ν•΄λ‹Ή Class λ³€μˆ˜λŠ” λ©”λͺ¨λ¦¬μ— μœ μ§€λ˜μ–΄ Class λͺ¨λ‘μ—κ²Œ κ³΅μœ λ˜λŠ” λ³€μˆ˜μ΄λ‹€.

 

μ΄λŸ¬ν•œ 클래슀 λ³€μˆ˜μ—λŠ” λͺ‡ κ°€μ§€μ˜ νŠΉμ§•μ΄ μžˆλ‹€.

 

  1. ν•΄λ‹Ή ν΄λž˜μŠ€μ—μ„œ μƒμ„±ν•œ λͺ¨λ“  객체가 λ³€μˆ˜λ₯Ό μ΄μš©ν•  수 μžˆλ‹€.
  2. 클래슀 λ³€μˆ˜λŠ” μΈμŠ€ν„΄μŠ€ λ³€μˆ˜μ™€ λͺ…ν™•νžˆ κ΅¬λΆ„λœλ‹€.

 

μΈμŠ€ν„΄μŠ€ λ³€μˆ˜ Instance Variable

 

μΈμŠ€ν„΄μŠ€ λ³€μˆ˜λŠ” 클래슀 내에 있고 클래슀의 ν•¨μˆ˜(λ©”μ„œλ“œ) 내뢀에 μ‘΄μž¬ν•˜μ—¬ 각자 κ³ μœ ν•œ μΈμŠ€ν„΄μŠ€λΌλ¦¬ 값을 κ³΅μœ ν•œλ‹€.

 

class Car():
    car_id = 0 # 클래슀 λ³€μˆ˜

    def __init__(self, name):
        self.name = name # μΈμŠ€ν„΄μŠ€ λ³€μˆ˜

 

μ΄λΌλŠ” μ½”λ“œκ°€ μžˆμ„ λ•Œ μœ„μ—μ„œ μ„€λ³‘ν•œ μΈμŠ€ν„΄μŠ€ λ³€μˆ˜ ꡬ뢄 방법에 μ˜ν•˜λ©΄ μΈμŠ€ν„΄μŠ€ λ³€μˆ˜λŠ” name이 λ˜λŠ” 것이닀.

 

μΈμŠ€ν„΄μŠ€ λ³€μˆ˜μ˜ 호좜

 

μΈμŠ€ν„΄μŠ€ λ³€μˆ˜λ₯Ό ν˜ΈμΆœν•˜λŠ” 방법은 λ‹€μŒκ³Ό κ°™λ‹€.

 

class Car():
    car_id = 0 # 클래슀 λ³€μˆ˜

    def __init__(self, size, color):
        self.size = size
        self.color = color

car1 = Car("Boong") # μΈμŠ€ν„΄μŠ€ 생성
print(car1.name) # μΈμŠ€ν„΄μŠ€ λ³€μˆ˜ 좜λ ₯

 

λŒ“κΈ€