1. 클래스란?
- 클래스는 한마디로 설계도라고 할 수 있으며, 관련 있는 변수(데이터)와 함수(기능)를 하나로 묶어 관리하기 위한 구조다.
- 즉 클래스는 하나의 프로그램 단위라고 볼 수 있다.
class 클래스이름:
def __init__(self):
# 초기값 설정 (객체 생성 시 자동 실행)
def 함수(self):
# 기능 정의
2. 객체란?
- 객체는 클래스(설계도)를 기반으로 만들어진 실제 인스턴스다.
person1=Person()
👉 위 코드는 “Person 설계도를 바탕으로 person1이라는 객체를 만든다”는 의미다.
- 객체 vs 변수
객체 실제 데이터 (값 + 상태) 으로, 여러 데이터를 가진 구조 변수 객체를 가리키는 이름 - 즉 위 코드에서 Person() → 객체 생성, person1 → 그 객체를 가리키는 변수 로 이해할 수 있다.
3. __init__ (초기화 메서드)
- __init__은 객체가 생성될 때 자동으로 실행되는 함수다.
classPerson:
def__init__(self):
print("사람 객체가 만들어졌습니다")
person1=Person()
👉 실행 결과 : ‘사람 객체가 만들어졌습니다’
- __init__을 사용하는 이유
- 객체 생성 시 필요한 값을 반드시 설정하기 위해
- 변수 정의를 한 곳에 모아 코드 일관성을 유지하기 위해
- 객체마다 다른 값을 안전하게 저장하기 위해
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
p1 = Person("땡땡", 25)
p2 = Person("띵띵", 30)
4. self란?
- self는 현재 생성된 객체 자기 자신을 의미한다.
class Person:
def __init__(self):
self.name = "땡땡"
person1 = Person()
👉 여기서 self는 person1을 가리킨다고 보면 된다.
- self.name을 사용하는 이유
- name → 함수 안에서만 사용 가능
- self.name → 객체 전체에서 사용 가능
name = "땡땡" # ❌ 지역 변수
self.name = "땡땡" # ⭕ 객체 변수
👉 즉, 객체 안에 값을 저장하려면 반드시 self를 써야 한다
5. 매서드란?
- 클래스 안에 정의된 함수를 메서드라고 한다.
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def introduce(self):
print(f"안녕하세요, 저는 {self.name}입니다.")
## 사용방법
person1 = Person("땡땡", 25)
person1.introduce()
🔥요약정리
- 클래스 = 설계도
- 객체 = 실제 데이터
- 변수 = 객체를 가리키는 이름
- self = 현재 객체 자기 자신
- init = 객체 생성 시 자동 실행되는 초기화 함수
- 메서드 = 클래스 안의 함수
'Python' 카테고리의 다른 글
| [Python] 문자열 검색 find() 함수 (0) | 2023.07.05 |
|---|---|
| [Python] print() 옵션 sep, end, Escape Code(이스케이프 코드) (0) | 2023.07.03 |
| [Python] dictionary get() 메소드 (0) | 2023.03.15 |
| [Python] collections 모듈 Counter (0) | 2023.03.15 |
| [Python] lambda함수 (0) | 2023.02.01 |