가이드라인

데코레이터로 게터와 세터 구현하기

데코레이터를 사용한 게터(getter)와 세터(setter) 메소드는 클래스의 속성을 안전하고 효율적으로 관리하는 데 사용됩니다.

게터와 세터 정의에 사용되는 데코레이터는 다음과 같습니다.

  • @property: 게터 메소드를 정의합니다. 이 메소드는 클래스 속성을 반환합니다.

  • @속성명.setter: 세터 메소드를 정의합니다. 이 메소드는 클래스 속성을 설정 또는 변경합니다.

데코레이터를 사용한 게터와 세터 예시
class Person: def __init__(self, name): self._name = name @property # 게터 메소드 정의 def name(self): return self._name @name.setter # 세터 메소드 정의 def name(self, value): if isinstance(value, str): self._name = value else: raise ValueError("이름은 문자열이어야 합니다.") # 클래스 사용 예시 person = Person("홍길동") print(person.name) # '홍길동' 출력 person.name = "박철수" print(person.name) # '박철수' 출력 # 잘못된 값 설정 시도 (오류 발생) # person.name = 123

이 예제에서 Person 클래스는 _name 속성을 가지고 있으며, @property 데코레이터를 사용한 name 게터와 @name.setter 데코레이터를 사용한 name 세터를 통해 이 속성에 접근합니다.

가이드라인

AI 튜터

배포

디자인

업로드

수업 노트

즐겨찾기

도움말

코드 에디터

코드 실행
코드 생성

실행 결과