객체 속성을 관리하는 게터(Getter)와 세터(Setter)
클래스에서 게터(getter)와 세터(setter) 메소드는 객체의 속성을 간접적으로 접근하기 위해 사용합니다.
게터는 속성값을 읽을 때 사용하고, 세터는 속성값을 설정하거나 수정할 때 사용됩니다.
게터와 세터는 객체의 데이터를 보호하고, 데이터의 유효성 검사를 수행할 때 유용합니다.
파이썬에서는 @property
데코레이터를 사용하거나 직접 게터와 세터를 구현할 수 있습니다.
데코레이터 없이 구현하기
-
게터(Getter) 메소드는 클래스의 속성을 반환합니다. 일반적으로
get_속성명
형식으로 이름을 지정합니다. -
세터(Setter) 메소드는 클래스의 속성을 설정하거나 수정합니다. 일반적으로
set_속성명
형식으로 이름을 지정합니다.
게터와 세터 사용 예시
class Person: def __init__(self, name): self._name = name # 프라이빗 변수 def get_name(self): return self._name def set_name(self, value): if isinstance(value, str): self._name = value else: raise ValueError("이름은 문자열이어야 합니다.") # 클래스 사용 예시 person = Person("홍길동") print(person.get_name()) # '홍길동' 출력 person.set_name("박철수") # '박철수'로 이름 변경 print(person.get_name()) # '박철수' 출력 # 잘못된 값 설정 시도 (오류 발생) # person.set_name(123)
이 예제에서 Person
클래스는 _name
이라는 프라이빗 변수를 가지고 있으며, get_name()
과 set_name()
메소드를 통해 이 변수에 접근합니다.
set_name()
메소드는 값의 유효성을 검사하여 문자열이 아닌 경우 오류를 발생시킵니다.
가이드라인
AI 튜터
배포
디자인
업로드
수업 노트
즐겨찾기
도움말
코드 에디터
코드 실행
코드 생성
실행 결과