본문 바로가기

파이썬/3. 객체지향 프로그래밍

파이썬 캡슐화와 정보은닉

캡슐화(encapsulation)

  • 클래스를 정의할때 내부 속성과 메서드를 묶어서 하나의 단위로 처리하는 것
  • 객체지향 프로그래밍의 주요 특징중 하나
  • 외부의 영향을 받지않아 큰 프로젝트를 만들 때 용이

정보은닉(information hiding)

  • 클래스 멤버를 정의할 때 접근을 제한하여 잘못된 상태를 방지함.
  • __private 해당 형식 내부에서만 접근 가능
class Information_hiding:
	def __init__(self, name):
		self.__name = name
    
	def get_name(self):
		return self.__name
        
order = Information_hiding('이정개')
order.__name
# AtributeError

인스턴스(instance)

  • 클래스에 의해 만들어진 객체
class main:
	def __init__(self, num):
		self.num = num
    
	def get(self):
		return self.num
        
instance1 = main(1)      # 클래스에 의해 생성된 인스턴스1
instance2 = main(2)      # 클래스에 의해 생성된 인스턴스1
# AtributeError

객체(object)

  • 어떠한 속성값과 행동을 가지고 있는 데이터
  • ex 자동차) 차량정보, 디자인, 제조사, 모델명, 등을 묶은 데이터가 하나의 자동차 객체