programmer-blog
[Python]class,instance,method란 무엇인가. 본문
<class> 클래스
클래스는 말그대로 분류하는 것을 말한다.
Person 클래스를 만든다고 치면
class attribute(클래스 속성)에는 이름,나이,직업 같은 데이터가 들어갈거고
class method(메서드)에는 말하기, 걷기 같은 기능(함수)이 들어갈거다.
class Person():
이름,나이,직업 #attribute
말하기, 걷기 #method
말하자면 하나의 자료구조를 만드는 셈이다.
그리고 더 나아가면 이게 객체지향 프로그래밍이라고 할 수 있다. 복잡한 문제를 나누어 객체를 만들고 객체를 조합해 문제를 해결한다.
클래스는 객체를 만드는 도구다. 그리고 그 객체를 인스턴스라고 한다.
인스턴스와 객체는 의미 상 같은 말이다. class가 관계되어 말할 떄 인스턴스라고 표현한다
< Instance>인스턴스
예를들면 int,list,dict등의 자료구조도 사실 클래스다.
a = int(1)
b = list(range(10))
그럼 a,b라는 인스턴스를 생성한게 된다.
a는 int 클래스의 인스턴스
b는 list 클래스의 인스턴스
이런식이다.
인프리터를 사용해 확인해 볼 수 있다.
>>> a = int(1)
>>> type(a)
<class 'int'>
<Method> 메서드
메서드는 클래스 안에 있는 함수를 말한다.
a.appen('method')에서 append가 메서드다.
list라는 클래스에 있는 메서드.
메서드는 인스턴스를 통해 호출 할 수 있다.
'Python' 카테고리의 다른 글
[Python]비공개 속성,메서드에 대해서 (0) | 2020.05.24 |
---|---|
[Python]decorator(데코레이터) 란 무엇인가 (0) | 2020.05.24 |
[python]*,** packing에 대해서 (0) | 2020.05.22 |
[Python]__init__과 self란 무엇인가 (0) | 2020.05.21 |