가이드라인

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

파이썬에서는 데코레이터(Decorators)를 사용하여 게터세터를 더 간결하게 구현할 수 있습니다.

프로그래밍에서 데코레이터는 함함수나 메서드의 기능을 확장하거나 수정하며, 파이썬에서는 @ 기호를 사용하여 데코레이터를 적용합니다.

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

  1. @property: 게터 메서드를 정의합니다. 속성처럼 값을 읽을 수 있도록 설정합니다.

  2. @속성명.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 # # ValueError: 이름은 문자열이어야 합니다.

위 코드에서 __namePerson 클래스의 프라이빗 변수입니다.

@property 데코레이터는 name 메서드를 게터로 정의하며, @name.setter 데코레이터는 name 메서드를 세터로 정의합니다.

이렇게 데코레이터를 사용하면 게터와 세터를 더 간결하게 구현할 수 있습니다.

Mission
0 / 1

@property 데코레이터는 세터(setter) 메서드를 정의한다.

O
X

가이드라인

AI 튜터

배포

디자인

업로드

수업 노트

즐겨찾기

도움말

코드 에디터

코드 실행
코드 생성

실행 결과