class정리

신현동·2020년 7월 21일
0

class


사용하는 이유?

추상화된 현실의 개념 을 구체적인 파이썬 코드로 표현하기 위해서
그러니까, 내가 만약 내가 키우는 고양이를 클래스로 만들었다고 하자.

고양이 클래스 그 고양이의 특징(이름,종류,색)같은 구체적인 값을 가지면 인스턴스 라는게 되서 실제 메모리를 할당받아서 뭔가 할 수 있게됨

클래스 정의하기


메소드 : 클래스에 묶여서 클래스와 인스턴스와 관계되는 일을 하는거 (함수와 비슷함)

 class ClassName:   // ※ 콜론 : 주의 
   < 구문 - 1 >

      메소드   

   < 구문 - n >`  

클래스 정의하기 예시


class Cat:                                             
    def yumi(self):
        print("귀엽다.") // 여기서 yumi() 메소드 정의       #여기 까지 클래스 정의하기 
         
       
cat1 = Cat()  // 인스턴스 생성      # 여기부턴 인스턴스 생성과 메소드 호출하기  
cat1.yumi()   // 메소드 호출 ( cat1 이 가지고 있는 기능("귀엽다") 을 호출가능) 
#.(마침표) 연산자 사용 

# 결과 
귀엽다. 

인스턴스 변수 생성 예시


class Cat: 
    def info(self): # info() 메소드              // 인스턴스 변수 name과 color를 생성//
        self.name = "유미" # 인스턴스 변수 name 생성
        self.color = "회색" # 인스턴스 변수 color 
        print('고양이 이름은', self.name, ' 색깔은', self.color 
              
cat = Cat() # 인스턴스 생성 
cat.info()  # 인스턴스의 메소드 실행 
    
 # 결과
   고양이 이름은 유미 색깔은 회색            

self


  • 클래스로 인스턴스로 만들면 클래스 안에서 인스턴스를 지칭할 방법이 없음 그래서 인스턴스를 클래스 안에서 self 라고 부름
class Cat:
    def __init__(self,name = "유미", color = "회색"):
        self.name = name
        self.color = color
        #고양이 클래스의 정보를 출력하는 메소드 
    def info(self):
        print('고양이의 이름은' ,self.name,' 색깔은 ', self.color)
cat1 = Cat("유미", "회색")   # cat1 인스턴스 생성 
cat2 = Cat("요미","회색")    # cat2 인스턴스 생성 

cat1.info()
cat2.info()
  • 위에 있는 코드를 사용해 말하면 self.name 변수는 각각 cat1,cat2 인스턴스의 name 을 가리킴

한 내용 정리


  • 파이썬에서 클래스를 정의 하기
  • 인스턴스 생성방법, .(마침표)연산자를 사용한 메소드의 호충
  • 인스언스 변수의 생성 방법,self.name 과 같이 self키워드를 사용함
  • self는 클래스이 인스턴스를 지칭함
profile
코딩 초보

1개의 댓글

comment-user-thumbnail
2020년 7월 22일

실 생할 예시 사용 + 코드 직접 써보고 정리 아주 잘했어.
글도 좀도 정도되고 이쁘게 잘썼네.
👍

답글 달기