일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 문자열
- disposableeffect
- 자바set
- 파이썬
- 자바
- Provider
- 파이썬문법
- android
- 오블완
- compose
- 배열
- nullpointerexception방지
- ContentProvider
- Dependency
- 프로그래머스
- composelifecycle
- Python
- 티스토리챌린지
- 백준파이썬
- programmers
- Java
- list
- 리스트
- filternotnull()
- 자료형
- jetpack
- 백준
- Kotlin
- Hilt
- 자바리스트정렬
Archives
- Today
- Total
study gomi
[Python|파이썬] 기본 문법 - 클래스 기본 본문
728x90
반응형
(참고 : 코드 완벽하지 않음 - 생략된 부분들 있음)
클래스
- 똑같은 무언가를 계속 만들어 낼 수 있는 설계서이다 => 한 번만 정의해두면 계속 많이 만들어낼 수 있음.
- 만들어낸 무언가는 객체(object)라고 한다.
- 여러 변수들을 묶어서 한 번에 관리할 수 있음
- 기능을 (여러 개) 정의할 수도 있음.
- 구현을 잠시 미룰 때는 pass 키워드를 사용.
# 클래스 명은 대문자로 시작
class CakeFrame:
# 구현해야 하는 부분을 잠시 미뤄두기 위해서 사용(pass)
pass
객체
- 객체마다 고유한 성격을 가진다.
- 클래스로 만들어낸 객체는 인스턴스라고 표현한다.
- 콕 집어서 부를 때는 객체, 클래스와 함께 부를 때는 00클래스의 인스턴스라고 표현.
- 객체 자기 자신을 self라고 한다(객체 자기 자신을 호출할 때 사용하면 됨)
class CakeFrame:
pass
# cake1 이라는 객체 생성
cake1 = CakeFrame()
# cake1 객체의 name이라는 변수 선언
cake1.ingredient = 'basic'
print(cake.ingredient)
# cake1 객체가 CakeFrame의 인스턴스가 맞는지 확인?
# 결과는 True/False
print(isinstance(cake1, CakeFrame))
메소드
- 클래스 내에 선언되는 함수
- 기능의 영역
- 전달 받는 값이 없으면 매개변수에 self를 적어줌 (메소드를 정의할 때 처음 전달값은 반드시 self)
- 메소드 내에서는 self.변수 와 같은 형태로 멤버변수를 사용
class CakeFrame:
# 전달 받는 값이 하나도 없음.
def add_whip_cream(self):
print('휘핑 크림 추가')
# 전달 받는 값이 있으면 self 뒤에 추가
def add_color_cream(self, color):
print(color + '크림 추가')
# self 사용
def set_baking_mode(self, min):
print(f'{self.name} {min}분 동안 굽기 모드')
cake1 = CakeFrame()
cake1.add_whip_cream()
cake1.add_color_cream('보라색')
생성자(constructor)
- 객체가 생성될 때 자동으로 호출되는 메소드를 의미
- __init__ 함수를 사용 : 메서드의 이름을 __init__을 사용하면 알아서 생성자로 인식 됨.
- 객체를 만들 때 변수들을 초기화 해주는 역할을 함.
class CakeFrame:
# init 앞 뒤로 (_)표시 2개씩
# 괄호 속에 필요한 변수들을 적어줌 (self, first, second)
def __init__(self, ingredient, price):
# ingredient와 price는 멤버변수라고 한다.
self.ingredient = ingredient
self.price = price
cake1 = CakeFrame('strawberry', 30000)
print(cake1.ingredient, cake1.price)
cake2 = CakeFrame('chocolate', 20000)
print(cake2.ingredient, cake2.price)
728x90
반응형
'basic > python' 카테고리의 다른 글
[Python|파이썬] 기본 문법 - 메소드 오버라이딩 (+파이썬의 메소드 오버로딩?!) (0) | 2024.01.08 |
---|---|
[Python|파이썬] 기본 문법 - 상속 (1) | 2024.01.08 |
[Python|파이썬] 기본 문법 - 파일 입출력 (2) | 2024.01.04 |
[Python|파이썬] 기본 문법 - 사용자 입력 (1) | 2024.01.03 |
[Python|파이썬] 기본 문법 - 함수 (1) | 2024.01.02 |