1 ๋ถ„ ์†Œ์š”

ํ•ญ์ƒ ์“ฐ๋Š” self ์ œ๋Œ€๋กœ ์•Œ๊ณ  ์“ฐ์ž

self์˜ ์—ญํ• ?

self ๋Š” ํด๋ž˜์Šค์˜ ๋ฉ”์†Œ๋“œ์—์„œ ํ•ด๋‹น ๋ฉ”์†Œ๋“œ๊ฐ€ ์†ํ•œ ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋ณ€์ˆ˜์ด๋‹ค.

๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ž๋™์œผ๋กœ ์ „๋‹ฌํ•˜๋ฏ€๋กœ, ํด๋ž˜์Šค์˜ ๋ชจ๋“  ๋ฉ”์†Œ๋“œ๋Š” ์ฒซ ๋ฒˆ์งธ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ self ๋ฅผ ๊ฐ€์ ธ์•ผ ํ•œ๋‹ค.

์ฆ‰, self ๋ฅผ ํ†ตํ•ด ๋ฉ”์†Œ๋“œ๋Š” ๊ฐ์ฒด์˜ ์†์„ฑ์— ์ ‘๊ทผํ•˜๊ณ , ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.

์˜ˆ์‹œ ์ฝ”๋“œ

class Car:
    def __init__(self, brand, model):
        self.brand = brand
        self.model = model
        self.mileage = 0  # ์ดˆ๊ธฐ ์ฃผํ–‰ ๋งˆ์ผ๋ฆฌ์ง€๋Š” 0์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
    
    def drive(self, distance):
        self.mileage += distance
        print(f"{self.brand} {self.model}์ด(๊ฐ€) {distance}๋งˆ์ผ ์šด์ „ํ•˜์—ฌ ์ด ์ฃผํ–‰ ๋งˆ์ผ๋ฆฌ์ง€๋Š” {self.mileage}๋งˆ์ผ์ž…๋‹ˆ๋‹ค.")
    
    def honk(self):
        print(f"{self.brand} {self.model}์ด(๊ฐ€) ์ธต์ธต ํ•˜๊ณ  ๊ฒฝ์ ์„ ์šธ๋ฆฝ๋‹ˆ๋‹ค.")

# Car ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ
my_car = Car("Toyota", "Corolla")

# drive ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ
my_car.drive(50)
my_car.drive(30)

# honk ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ
my_car.honk()

##### ์ถœ๋ ฅ #####
# Toyota Corolla์ด(๊ฐ€) 50๋งˆ์ผ ์šด์ „ํ•˜์—ฌ ์ด ์ฃผํ–‰ ๋งˆ์ผ๋ฆฌ์ง€๋Š” 50๋งˆ์ผ์ž…๋‹ˆ๋‹ค.
# Toyota Corolla์ด(๊ฐ€) 30๋งˆ์ผ ์šด์ „ํ•˜์—ฌ ์ด ์ฃผํ–‰ ๋งˆ์ผ๋ฆฌ์ง€๋Š” 80๋งˆ์ผ์ž…๋‹ˆ๋‹ค.
# Toyota Corolla์ด(๊ฐ€) ์ธต์ธต ํ•˜๊ณ  ๊ฒฝ์ ์„ ์šธ๋ฆฝ๋‹ˆ๋‹ค.
  • Car ํด๋ž˜์Šค ์ •์˜ โ†’ brand, model, mileage ์†์„ฑ
  • __init__() โ†’ ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ ํ˜ธ์ถœ๋˜๋Š” ์ดˆ๊ธฐํ™” ๋ฉ”์†Œ๋“œ โ†’ ๊ฐ์ฒด์˜ ์†์„ฑ์„ ์ดˆ๊ธฐํ™”ํ•จ
  • drive() โ†’ ์ฃผํ–‰ ๊ฑฐ๋ฆฌ๋ฅผ ๋ˆ„์  & ๋งˆ์ผ๋ฆฌ์ง€ ์—…๋ฐ์ดํŠธ โ†’ self ๋ฅผ ์‚ฌ์šฉํ•ด ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜์— ์ ‘๊ทผํ•จ
  • honk() โ†’ ๊ฒฝ์  ์šธ๋ฆฌ๊ธฐ

self ์—ญํ•  ์š”์•ฝ

  • self ๋Š” ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ํŠน๋ณ„ํ•œ ํ‚ค์›Œ๋“œ
  • ํด๋ž˜์Šค์˜ ๋ฉ”์†Œ๋“œ๋Š” ์ฒซ ๋ฒˆ์งธ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ self ๋ฅผ ๊ฐ€์ ธ์•ผ ํ•จ(์ •์  ๋ฉ”์†Œ๋“œ ์ œ์™ธ)
  • self ๋ฅผ ํ†ตํ•ด ๊ฐ์ฒด์˜ ์†์„ฑ์— ์ ‘๊ทผํ•˜๊ณ  ๊ฐ•ํƒœ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Œ

์นดํ…Œ๊ณ ๋ฆฌ:

์—…๋ฐ์ดํŠธ:

๋Œ“๊ธ€๋‚จ๊ธฐ๊ธฐ