클래스는 객체(Object) 를 정의하고 만들기 위한 변수와 메서드의 집합.
설계도를 이용해서 다양한 색깔, 사이즈, 디자인의 신발을 만들 수 있다면, 여기서 중요한 것은 하나의 설계도로 여러 제품을 만들 수 있다. 여기서 설계도가 클래스이고 만든 제품이 객체 입니다.
붕어빵을 만드는 틀이 있다면, 클래스는 붕어빵을 만드는 틀이며, 객체는 실제로 만들어진 붕어빵이 됩니다.
클래스의 이름은 대문자로 시작(캐멀 케이스)
객체 = 글래스이름() 으로 한후 글래스 사용가능
용어 및 설명
클래스(Class) | 제품의 설계도 |
객체(Object) | 설계도로 만든 제품 |
속성(Attribute) | 클래스 안의 변수 |
메서드(Method) | 클래스 안의 함수 |
생성자(Constructor) | 객체를 만들 때 실행되는 함수 |
인스턴스(Instance) | 메모리에 살아있는 객체 |
인스턴스 : dog1 = Dog() # Dog 클래스의 인스턴스 (dog1)
강아지 클래스 만들기
class Dog:
def __init__(self, input_name, input_age, input_color):
self.dog_name = input_name # 강아지 이름
self.dog_age = input_age # 강아지 나이
self.dog_color = input_color # 강아지 색깔
def bark(self):
print(f"{self.dog_name}가 멍멍 짖어요!")
def white(self):
print(f"{self.dog_color}이 색상이 빛나요!")
# 강아지 객체 만들기
dog1 = Dog("초코", 3, "갈색")
dog2 = Dog("하양이", 2, "하얀색")
dog3 = Dog("포실이", 5, "검은색")
print(dog1.dog_name, dog1.dog_age, dog1.dog_color) # 초코 3 갈색
print(dog2.dog_name, dog2.dog_age, dog2.dog_color) # 하양이 2 하얀색
print(dog3.dog_name, dog3.dog_age, dog3.dog_color) # 포실이 5 검은색
dog1.bark() # 하양이가 멍멍 짖어요!
dog2.bark()
dog3.bark()
dog3.white() # 포실이가 색상이 빛나요!
__init__의 매개변수(input_name, input_age, input_color)
결과 :
초코 3 갈색
하양이 2 하얀색
초코가 멍멍 짖어요!
하양이가 멍멍 짖어요!
포실이가 멍멍 짖어요!
검은색이 색상이 빛나요!
__init__(이니셜라이저)?
__init__는 클래스가 처음 만들어질 때(객체 생성) 자동으로 실행되는 특별한 함수
쉽게 말하면, 객체를 만들자마자 필요한 정보를 자동으로 설정하는 역할.
__init__은 객체가 만들어질 때 자동 실행되는 함수.
self를 사용해서 각 객체마다 속성(이름, 나이 등)을 저장할 수 있다.
객체를 만들자마자 필요한 정보를 넣을 수 있다.
- 클래스 = "설계도" (강아지를 만들 수 있는 틀)
- 객체 = "실제 물건" (초코, 하양이 같은 강아지)
- 속성 (변수) = 강아지의 이름, 나이, 색깔
- 동작 (함수) = 강아지가 짖는 행동
클래스를 만들면 비슷한 것들을 쉽게 여러 개 만들 수 있다.
※ 생성자(Constructor)는 클래스에서 객체를 만들 때 자동으로 실행되는 함수 (__init__)
제너레이터(Generator)는 데이터를 필요할 때 하나씩 생성하는 함수 (yield 사용)
'데이터 분석가:Applied Data Analytics > 파이썬' 카테고리의 다른 글
파이썬으로 게임만들기 (0) | 2025.02.04 |
---|---|
사각형 넓이 구하기 와 키오스크 만들기 (0) | 2025.02.04 |
전역 변수(Global variable), 모듈, 패키지, 라이브러리 (1) | 2025.01.24 |
이터레이터, 제너레이터, 데코레이터, 람다, 일급객체 (0) | 2025.01.23 |
리스트, 딕셔너리, 컴프리헨션 (0) | 2025.01.22 |