클래스 — 데이터와 함수를 묶다
데이터(속성)와 함수(메서드)를 하나의 설계도로 묶는다. PyTorch 모든 AI 모델의 기본 구조.
PyTorch의 모든 AI 모델은 클래스로 만들어진다. 변수와 함수가 수십 개로 늘어나면, 관련된 것끼리 묶어야 한다. 그 묶음의 설계도가 클래스다.
PyTorch의 모든 AI 모델은 클래스로 만들어집니다. `class MyModel(nn.Module):` — 이 한 줄이 AI 모델의 시작이죠. 변수와 함수가 수십 개로 늘어나면, 관련된 것끼리 묶어야 합니다. 그 묶음의 설계도가 클래스입니다.
클래스는 데이터와 함수를 묶는 설계도입니다
class로 설계도를 정의한다. __init__은 생성자(인스턴스 생성 시 자동 호출), self는 현재 인스턴스 자신을 가리킨다.
class — 설계도 정의 __init__ — 초기화 (자동 호출) self — 현재 객체 자신
설계도로 실제 객체를 만들어봅시다
코드 추적: Tokenizer("basic")로 인스턴스 생성. add_word로 단어 추가. "hello"는 이미 있으므로 무시. vocab_size()는 2, vocab은 {'hello': 0, 'world': 1}.
AI Tokenizer 클래스를 직접 만들고 사용해봅시다
encode 메서드는 텍스트를 토큰 ID 리스트로 변환한다. vocab에 없는 단어는 -1을 반환한다.
| 클래스 기본 구조 | 설명 |
|---|---|
| class | 데이터(속성)와 함수(메서드)를 묶는 설계도 정의 키워드 |
| __init__ | 생성자 — 인스턴스 생성 시 자동 호출되어 초기화 |
| self | 현재 인스턴스 자신을 가리키는 참조 (메서드의 첫 번째 인자) |
| 클래스 활용 | 설명 |
|---|---|
| 인스턴스 | 설계도(클래스)로 만든 실제 객체 — tok = Tokenizer("basic") |
| 메서드 호출 | 인스턴스.메서드() — tok.add_word("hello") |
| AI 연결 | PyTorch 모든 AI 모델 = class MyModel(nn.Module): |
클래스 = 붕어빵 틀, 인스턴스 = 실제 붕어빵 — 틀 하나로 여러 붕어빵 생산!
클래스에서 self는 무엇을 가리키는가?
__init__ 메서드는 언제 실행되는가?
Python에서 딕셔너리의 키는 중복될 수 있다