본문 바로가기
Python notes/Others

파이썬) class 만들기 (+class? method? object와 instance?)

by 성실한 나무 2021. 3. 26.

#1. class를 선언하다가 생긴 여러가지 궁금증들...

시작은 그냥 class를 만드려고 했던 것뿐인데 수업을 듣다보니

__init__은 무엇이고 self는 왜 들어가는 것이며,

class, method, object, instance 이것들은 또 무슨 개념인지^^;

구글링으로 이 블로그 저 블로그 찾아보고, 코드를 실행시켜 보면서 확인한 내용을 정리해 본다.

 

#2. 정리한 내용

(고수분들이 오류를 발견하신다면 댓글로 한수 가르쳐 주세요 :-D)

 

 1) class는 무엇인가? 변수와 method를 정의하는 것

     위에서는 class의 이름은 fruit이고, 그 형태를 보면

     클래스이름("과일이름", 과일개수)  ----->  fruit(name, quantity) 로 해 놓았다.

 

 2) method는 무엇인가? class를 정의하는 함수, class 안에 있는 함수

     위에서 fruit이라는 이름의 class를 만들기로 했으면 fruit(name, quantity)가 무슨 내용인지를 정의해줘야 한다

      def __init__(self, name, quantity):

           self.name=name

           self.quantity=quantity

 

3) 객체 object는 무엇인가? class가 담긴 변수라고 이해 했음

      뒤에 name, quantity는 내가 임의로 보기 편하게 정한 이름이고...

      self는 객체 이름이고(위에 코드에서는 a가 객체),

      객체이름.name=name 이라는 것은 객체이름.name값에 name값을 넣으라는 것

      즉, a=fruit("apple",5) 이니까 a.name은 "apple"이 된다.

      객체 object가 인스턴스라고 보면 된다고 한다.    

 

     **파이썬은 모든 변수가 객체로서 존재한다고 함

        우리는 단순한 값을 대입할 뿐이지만 파이썬이 그 값 하위에 다른 변수와 함수를 포함시킨다 (변수에 내장된 하위 변수나 함수를 사용)

댓글