ㅇTL

OOP 본문

2-2/파이썬, 자료구조

OOP

정노르레기 2021. 9. 3. 16:57

*사실 파이썬은 캡슐화를 지원하는 언어는 아님 ! (private x) 클래스 없어도 괜찮은 언어

*클래스에서 self 파라미터엔 아무것도 안넣어도되는거임

캡슐화

=인스턴스를 생성했을 때 일부 구현 내용에 대한 외부로부터의 직접적인 엑세스를 차단하는것입니다. 

 

= 캡슐처럼 객체 내부를 숨겨 외부로부터의 엑세스를 차단하는 것

 

ways

  1. 맹글링 -> 완벽은 x
  2. _변수 -> 개발자들 사이의 약속
  3. @property 데코레이터 사용내부 보호하기 위해 데이터 접근 메서드를 따로 만들어 주는 것!

property ? = 어떤 처리를 해준 속성

@property라는 키워드를 이용해서 클래스 변수를 속성으로 선언하고 하나의 메소드를 통해서 쉽게 get / set 할 수 있습니다

 

*메서드를 통해서 값을 가져오는 것 =getter / 값을 설정하는 것 =setter

프로퍼티를 사용하여 세터와 게터를 만들게 되면 접근시 저절로 그 게터, 세터를 사용하게 됨 + 설정한 메소드 이름으로 접근 가능

더 간단하게 접근 가능 !!

 

ex

__age 라는 attribute에 대해서 할 때

 

@property 

def age(self) : 

    return self.__age

-> 게터 !!

 

@age.setter 

def age(self, age):

    self.__age=age

->세터 !!

 

-> 클래스.age로 쉽게 접근 가능, 저절로 게터 세터 사용됨

 

 

 

'2-2 > 파이썬, 자료구조' 카테고리의 다른 글

  (0) 2021.09.03
스택  (0) 2021.09.03
파이썬 ..  (0) 2021.09.03
연결 리스트  (0) 2021.09.03
배열  (0) 2021.09.02