가이드라인

캡슐화로 속성과 메소드를 하나로 묶는 방법

캡슐화(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 변수로 설정되어 외부에서 직접 접근할 수 없습니다.

대신 depositget_balance 메소드를 통해 이 변수를 안전하게 조작하고 조회할 수 있습니다.

가이드라인

AI 튜터

배포

디자인

업로드

수업 노트

즐겨찾기

도움말

코드 에디터

코드 실행
코드 생성

실행 결과