객체지향 프로그래밍(OOP, Object Oriented Programming)
: 객체를 중심으로 하는 프로그래밍
그렇다면 객체는 무엇인가?
객체의 중요한 개념 두 가지: Class, Instance
클래스(Class)는 함수(logic)와 변수(data)를 담고 있는 그릇
인스턴스(Instance)는 클래스를 복제한 것. 클래스를 복제했기 때문에 인스턴스도 함수와 변수를 가지고 있지만,
인스턴스마다 다른 변수를 가짐
- class 안에 있는 함수를 method(메소드)라고 한다.
Python의 메소드는 첫번째 매개변수를 반드시 정의해야 하는데, 이 첫번째 매개변수는 인스턴스 자기 자신이다.
def __init__(self, first, second):
위의 코드처럼 첫번째 매개변수에 자기 자신(self)을 설정한다.
self 대신 다른 이름을 써도 되지만, 관례적으로 'self'를 사용한다.
이 덕분에 Python에서는 첫번째 매개변수(self)를 이용해서 *인스턴스 변수를 지정할 수 있다.
- 인스턴스 변수란?
변수(Value)는 전역 변수, 지역 변수, 인스턴스 변수로 나누어 볼 수 있다.
1) 전역 변수: 코드 안에서 쓸 수 있는 변수
2) 지역 변수: 함수 안에서만 쓸 수 있는 변수
3) 인스턴스 변수: 클래스의 인스턴스 안에서만 쓸 수 있는 변수
Python에서는 인스턴스의 외부에서 인스턴스 변수에 접근이 가능하다(인스턴스 변수의 입출력, 수정 등이 가능함).
외부에서 인스턴스 변수에 접근하지 못하게 하는 방법
: 변수 이름 앞에 '__'(언더바 2개)를 붙인다.
self.__value = value
'프로그래밍 > Python' 카테고리의 다른 글
[Python] print()와 함께 자주 쓰는 join(), sep='', end='' / spread operator(*) (0) | 2022.02.06 |
---|---|
[Python] 입력값을 받는 방법들 - input(), sys.stdin.readline() (0) | 2022.02.06 |
[Python] 숫자 맞추기 게임(업다운 게임)_while문, try/except(예외처리) (4) | 2020.04.22 |
[Python 프로그래밍] 1. 개요/2. 연산자/3. 제어문, 함수, 자료구조 (0) | 2020.04.09 |
[Python] Python 설치하기 (0) | 2020.03.13 |
댓글