클래스 기초
클래스 기초
🎯 이 lesson 을 읽고 나면
이 lesson 을 다 읽고 나면 아래 3가지를 자신 있게 할 수 있습니다.
- ▸✅ __init__ · self · 인스턴스 메서드 기본
- ▸✅ 클래스 변수 vs 인스턴스 변수 차이
- ▸✅ __repr__ · __str__ · __eq__ 매직 메서드
학습 목표를 체크리스트로 두고 다 답할 수 있게 되면 lesson 을 닫으세요.
class 6가지 핵심 — 코드 + 실행 결과
class = 데이터 + 행동을 묶은 설계도. 같은 모양의 객체를 여러 개 만들 때.
1. 가장 단순한 클래스
사람() 호출 시 객체 생성. 변수 = 그 객체를 가리킴.
2. __init__ — 생성자
self 무엇? = "이 메서드를 호출한 객체 자신" (Java 의 this). 모든 메서드의 첫 매개변수 로 필수.
3. 메서드 — 객체의 행동
메서드 호출 시 c.입금(500) 처럼 객체.메서드(인자) — self 는 자동 전달.
4. __str__ — 출력 포맷
__str__ 없으면 <__main__.사람 object at 0x...> 같은 의미 없는 출력. 반드시 정의 권장.
5. 클래스 변수 vs 인스턴스 변수
6. Java 와 비교 — 짧음
한 줄 요약
핵심: 같은 모양 객체 여러 개 만들 때. self 가 곧 그 객체.
💡 핵심 포인트
1. self는 인스턴스 자신을 참조
2. __init__은 생성자 (자동 호출)
3. 클래스 변수 vs 인스턴스 변수 구분
Python의 OOP는 클래스(class)로 객체를 정의합니다. __init__은 생성자, self는 인스턴스 참조입니다. 상속은 class Child(Parent)로 구현하며, super()로 부모 메서드를 호출합니다. @property로 getter/setter 구현, @classmethod/@staticmethod로 클래스/정적 메서드를 정의합니다. 다중 상속과 MRO(Method Resolution Order)도 지원합니다.
🐍 실행해보기 — 클래스 기초
🤖 AI 에게 이렇게 요청해보세요
이 lesson 의 개념을 알면 AI 에게 구체적으로 지시할 수 있습니다. 막연한 "고쳐줘" 가 아니라 어휘를 가진 요청 — 그게 토큰 절약의 출발점입니다.
- ▸"이 Python 코드에 클래스 기초 개념 적용해줘"
- ▸"이 코드에 type hint + pytest 단위 테스트 추가해줘"
- ▸"클래스 기초 관련 PEP 8 위반 점검해줘"
왜 이게 토큰을 줄이나
개념을 모를 땐 AI 답변을 받고도 "그게 뭐예요?" 를 다시 물어야 합니다. 그 "다시 물음" 이 토큰을 잡아먹습니다. 개념 한 번 익혀두면 대화가 한 번에 끝납니다.