캡슐화로 속성과 메소드를 하나로 묶는 방법
캡슐화(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
메소드를 통해 이 변수를 안전하게 조작하고 조회할 수 있습니다.
가이드라인
AI 튜터
배포
디자인
업로드
수업 노트
즐겨찾기
도움말
코드 에디터
코드 실행
코드 생성
실행 결과