가이드라인

객체 속성을 관리하는 게터(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): # 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 클래스의 get_name 메서드는 __name 속성을 반환하고, set_name 메서드는 __name 속성을 설정합니다.

set_name 메서드에서는 value 값이 문자열인지 확인하고, 문자열이 아닌 경우 ValueError를 발생시킵니다.

이와 같이 게터와 세터를 직접 구현하면 속성에 대한 접근을 제어할 수 있으며, 속성값을 안전하게 설정할 수 있습니다.

다음 수업에서는 @property 데코레이터를 사용해 게터와 세터를 구현하는 방법을 알아보겠습니다.

Mission
0 / 1

다음 중 클래스의 속성값을 설정하거나 수정하는 메서드는 무엇일까요?

get_속성명

print_속성명

set_속성명

remove_속성명

가이드라인

AI 튜터

배포

디자인

업로드

수업 노트

즐겨찾기

도움말

코드 에디터

코드 실행
코드 생성

실행 결과