객체 지향 프로그래밍의 4개의 기둥캡슐화신용 카드 정보 보호하기

Q

코드를 맞게 작성했습니다.

조회 749

좋아요 4

2020년 9월 3일




댓글 2

2020년 9월 3일
class CreditCard:
MAX_PAYMENT_LIMIT = 30000000

def __init__(self, name, password, payment_limit):
# 코드를 쓰세요
self.name = name
self._password = password
self._payment_limit = payment_limit

@property
def password(self):
return "비밀 번호는 볼 수 없습니다"

def payment_limit(self):
return self._payment_limit

def password(self, new_password):
self._password = new_password

def payment_limit(self, new_payment_limit):
if 0 <= new_payment_limit <= CreditCard.MAX_PAYMENT_LIMIT:
self._payment_limit = new_payment_limit
else:
print("카드 한도는 0원 ~ 3천만 원 사이로 설정해주세요!")


card = CreditCard("강영훈", "123", 100000)

print(card.name)
print(card.password)
print(card.payment_limit)

card.name = "성태호"
card.password = "1234"
card.payment_limit = -10

print(card.name)
print(card.password)
print(card.payment_limit)
2020년 9월 3일
@property밖에 없는 이유는 그 외 것을 추가하면 또 오류가 떠서 못넣었습니다
A
2개의 답변이 있어요



2020년 9월 3일

댓글 2

2020년 9월 3일
seetter를 쓰는 순간 오류가 발생해서 없앴습니다...
2020년 9월 3일
setter 를 어떻게 쓰셨나용?

(주) 코드잇

대표강영훈

개인정보보호책임자강영훈

이메일support@codeit.kr

사업자 번호313-86-00797

통신판매업제 2019-서울중구-1034 호

주소서울특별시 중구 청계천로 100 시그니쳐타워 동관 10층 코드잇