Guidelines

μΊ‘μŠν™”λ‘œ 속성과 λ©”μ†Œλ“œλ₯Ό ν•˜λ‚˜λ‘œ λ¬ΆλŠ” 방법

μΊ‘μŠν™”(Encapsulation)λŠ” 객체의 데이터(속성)와 κ·Έ 데이터λ₯Ό μ²˜λ¦¬ν•˜λŠ” λ©”μ†Œλ“œλ₯Ό ν•˜λ‚˜μ˜ λ‹¨μœ„λ‘œ λ¬ΆλŠ” 것을 μ˜λ―Έν•©λ‹ˆλ‹€.

이λ₯Ό 톡해 객체가 μ„ΈλΆ€μ μœΌλ‘œ κ΅¬ν˜„λœ λͺ¨μŠ΅μ„ 숨기고, μ™ΈλΆ€μ˜ 잘λͺ»λœ μ ‘κ·ΌμœΌλ‘œλΆ€ν„° 데이터λ₯Ό λ³΄ν˜Έν•©λ‹ˆλ‹€.


μΊ‘μŠν™”μ˜ μ—­ν• 

  • μΈν„°νŽ˜μ΄μŠ€ 제곡: 객체의 λ‚΄λΆ€κ°€ μ–΄λ–»κ²Œ κ΅¬ν˜„λ˜μ—ˆλŠ”μ§€ μ•Œ ν•„μš” 없이, 제곡된 λ©”μ†Œλ“œλ₯Ό 톡해 객체와 μƒν˜Έμž‘μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

  • 데이터 보호: 객체의 μ€‘μš”ν•œ 데이터λ₯Ό μ™ΈλΆ€μ˜ 잘λͺ»λœ μ ‘κ·ΌμœΌλ‘œλΆ€ν„° λ³΄ν˜Έν•©λ‹ˆλ‹€.


μΊ‘μŠν™” μ‚¬μš© μ˜ˆμ‹œ

μΊ‘μŠν™” μ˜ˆμ‹œ
class Account: def __init__(self, balance): self.__balance = balance # private λ³€μˆ˜ def deposit(self, amount): if amount > 0: self.__balance += amount return f"μž…κΈˆ μ™„λ£Œ: μž”μ•‘ {self.__balance}원" return "μž…κΈˆ κΈˆμ•‘μ΄ μœ νš¨ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€." def get_balance(self): return f"ν˜„μž¬ μž”μ•‘: {self.__balance}원" # 클래슀 μ‚¬μš© μ˜ˆμ‹œ account = Account(10000) print(account.deposit(5000)) # 'μž…κΈˆ μ™„λ£Œ: μž”μ•‘ 15000원' 좜λ ₯ print(account.get_balance()) # 'ν˜„μž¬ μž”μ•‘: 15000원' 좜λ ₯

이 μ˜ˆμ œμ—μ„œ __balanceλŠ” private λ³€μˆ˜λ‘œ μ„€μ •λ˜μ–΄ μ™ΈλΆ€μ—μ„œ 직접 μ ‘κ·Όν•  수 μ—†μŠ΅λ‹ˆλ‹€.

λŒ€μ‹  depositκ³Ό get_balance λ©”μ†Œλ“œλ₯Ό 톡해 이 λ³€μˆ˜λ₯Ό μ•ˆμ „ν•˜κ²Œ μ‘°μž‘ν•˜κ³  μ‘°νšŒν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Guidelines

AI Tutor

Publish

Design

Upload

Notes

Favorites

Help

Code Editor

Run
Generate

Execution Result