내가 보려고 만든 블로그

<파이썬> Property 본문

Python | Web/Python

<파이썬> Property

정의김 2021. 8. 8. 17:56

자바에서 클래스내 속성, 메소드 값에 접근하기 위한 제한자들 , Private , Protected 등을 많이 접하였을 것 이다.

어떤 클래스의 외부에서 이러한 접근제한자들이 걸려있는 속성에 대하여 직접적인 접근을 막고 메소드등에 접근하기 위해서 getter, setter 등을 사용하도록 하는 패턴들을 많이 볼 수 있다.

파이썬에서도 이러한 getter , setter 등을 간편하게 구현해주는 방법이 있다.  바로 Property 와 Setter 이다. 

 

 

다음과 같이 getter 에 해당하는 부분에는 @property 의 데코레이터를 setter 에는 @메소드이름.setter 를 해주면 간단하게 구현할 수 있다.

다음과 같이 _age라는 속성만이 클래스에 존재하기 때문에 오류가 발생해야하지만 Age.age 를 통해 getter , setter 역할을 수행하는 것을 확인할 수 있다.

'Python | Web > Python' 카테고리의 다른 글

<파이썬> Decorator 란?  (0) 2021.08.15
<파이썬> Descriptor  (0) 2021.08.08
< 파이썬 > Generator 란  (0) 2021.08.01
<파이썬> Magic Method 란?  (0) 2021.07.18
<파이썬> 클래스의 상속과 super 에 대하여  (0) 2021.07.11