모눈종이에 사각사각
클래스 정의와 self 본문
클래스를 사용하는 이유
- 추상화된 현실의 개념을 구체적인 파이썬 코드로 표현하기 위해
- 고양이 : 고양이 클래스(추상적인 개념)
- 주황색의 이름이 미미인 고양이 : 인스턴스(색, 이름등 구체적 값을 가짐)
클래스 생성
## 클래스 정의하기
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()
'CodingTest' 카테고리의 다른 글
deque - rotate() 메서드 (0) | 2022.08.15 |
---|---|
[python] 연결된 리스트 쉽게 구현하기 (0) | 2022.06.30 |
파이썬 재귀 깊이 sys.setrecursionlimit (0) | 2022.02.17 |
정규표현식 (0) | 2022.02.09 |
isalpha(), isdigit(), isalnum(), islower(), isupper(), lower(), upper() (0) | 2022.02.09 |
Comments