캡슐화 2

객체지향의 강력함은 책임을 자율적으로 만드는 것에 달려있다

* 이 글은 책을 읽고 주관적인 생각과 함께 요약 정리한 글입니다. 제목 : 객체지향의 사실과 오해 저자 : 조영호 범위 : 05 책임과 메시지 요약 정리 객체가 행동을 하는 유일한 이유는 다른 객체로부터 요청(메시지)을 수신했기 때문이다. 요청을 처리하기 위해 객체가 수행하는 행동을 책임이라고 한다. 자율적인 책임은 객체가 '어떻게'해야 하는가가 아니라 '무엇'을 해야 하는가를 설명한다. 메서드 - 메시지를 처리하기 위해 내부적으로 선택하는 방법을 메서드라고 한다. 필요한 경우 메시지에는 인자가 함께 전달된다. 다형성 서로 다른 타입에 속하는 객체들이 동일한 메시지를 수신한다. 객체들은 서로 다른 메서드를 이용해 메시지를 처리할 수 있다. 즉, 동일한 메시지를 서로 다른 메서드(처리방법)를 이용해 처리..

Python _ @property로 getter, setter 구현하기 (feat. 캡슐화)

캡슐화 파이썬은 클래스를 작성할 때, 변수나 함수 앞에 '__' 를 붙여 캡슐화, 즉 은닉을 할 수 있습니다. 예를 들어 객체 내 변수에 접근할 때, 일반적으로 다음처럼 '.'과 변수명만으로 쉽게 접근할 수 있습니다. class Robot: def __init__(self, name, num): self.name = name self.num = num robot = Robot('다코', '0001') print(robot.name, robot.num) ''' 결과 >>> 다코 0001 ''' 하지만 이것은 외부에서 변수를 쉽게 조작할 수 있음을 의미합니다. 이를 방지하기 위해 변수앞에 '__'를 붙여 외부에서 접근할 수 없도록 막을 수 있습니다. class Robot: def __init__(self, ..