모눈종이에 사각사각

클래스 정의와 self 본문

CodingTest

클래스 정의와 self

모눈종이씨 2022. 2. 11. 15:11

클래스를 사용하는 이유

  • 추상화된 현실의 개념을 구체적인 파이썬 코드로 표현하기 위해
  • 고양이 : 고양이 클래스(추상적인 개념)
  • 주황색의 이름이 미미인 고양이 : 인스턴스(색, 이름등 구체적 값을 가짐)

클래스 생성

## 클래스 정의하기
class Cat:
    # 인스턴스 변수와 메소드 구현하는 위치
    def meow(self): # meow() 메소드 정의
        print("야옹")

## 인스턴스 생성 및 메소드 호출
### 메소드 호출은 마침표 연산자 사용
cat1 = Cat() # 인스턴스 생성
cat1.meow() # 메소드 호출

인스턴스 변수 생성

class Cat:
    def info(self): # info() 메소드
        self.name = "나비" # 인스턴스 변수 name 생성
        self.color = "검정색" # 인스턴스 변수 color
        print("고양이 이름은", self.name, '색깔은', self.color)

cat = Cat() # 인스턴스 생성
cat.info() # 인스턴스의 메소드 실행

self란?

  • 클래스의 인스턴스를 지칭
  • self 키워드를 통해 클래스의 메소드와 속성에 접근 가능
  • 모든 메소드의 첫 번째 매개변수는 자기 자신을 가리키는 self 변수. 즉 이 메소드를 호출한 현재 객체를 의미.
class Cat:
    # 초기화 메소드
    def __init__(self, name="나비", color="흰색"):
        self.name = name
        self.color = color

    # 고양이 클래스의 정보를 출력하는 메소드
    def info(self): # info() 메소드
        print("고양이 이름은", self.name, '색깔은', self.color)

cat1 = Cat("네로", "검정색") # 인스턴스 생성
cat2 = Cat("미미", "갈색")

cat1.info()
cat2.info()

참고 유튜브

Comments