programmer-blog

[Python]class,instance,method란 무엇인가. 본문

Python

[Python]class,instance,method란 무엇인가.

frogrammer 2020. 5. 20. 16:26

<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라는 클래스에 있는 메서드.
메서드는 인스턴스를 통해 호출 할 수 있다.